#############################################################################

# make gensym global, so that it can be shared with other 'global' routines
gensym := module ()
  export ModuleApply, SymbolsToGen;
  local gs_counter, utf8, blocks, radix, unicode, bad_name, do_gensym, ModuleLoad;
  gs_counter := -1;
  utf8 := proc(n :: integer, $)
    local m;
    if n<128 then n
    elif n<2048 then 192+iquo(n,64,'m'), 128+m
    elif n<65536 then 224+iquo(n,4096,'m'), 128+iquo(m,64,'m'), 128+m
    elif n<2097152 then 240+iquo(n,262144,'m'), 128+iquo(m,4096,'m'), 128+iquo(m,64,'m'), 128+m
    elif n<67108864 then 248+iquo(n,16777216,'m'), 128+iquo(m,262144,'m'), 128+iquo(m,4096,'m'), 128+iquo(m,64,'m'), 128+m
    elif n<2147483648 then 248+iquo(n,1073741824,'m'), 128+iquo(m,16777216,'m'), 128+iquo(m,262144,'m'), 128+iquo(m,4096,'m'), 128+iquo(m,64,'m'), 128+m
    end if
  end proc;
  SymbolsToGen :=
             [ ["`", "_"]
             , ["0", "9"]
             , ["a", "z"]
             , ["A", "Z"] ];
             # e.g.
             # [[ 19968, 20950 ]] for unicode

  bad_name := n -> type(n, protected) or (x -> assigned(x))(n);
  blocks := proc($)
    map(((l,u)->`[]`(StringTools:-Ord(l), StringTools:-Ord(u) - StringTools:-Ord(l)+1))@op,SymbolsToGen)
  end proc;
  radix := proc($) `+`(op(map2(op, 2, blocks()))) / 2; end proc;
  unicode := proc(nn, $)
    local n, b;
    n := nn;
    for b in blocks() do
      if n < op(2,b) then return n + op(1,b) else n := n - op(2,b) end if
    end do
  end proc;
  ModuleApply := proc(x::name, $)
    local x1 := do_gensym(x);
    if bad_name(x1) then ModuleApply(x) else x1 end if;
  end proc;
  do_gensym := proc(x::name, $)
    gs_counter := gs_counter + 1;
    cat(x, op(map(StringTools:-Char, map(utf8 @ unicode, applyop(`+`, 1, map(`*`, convert(gs_counter, 'base', radix()), 2), 1)))))
  end proc;
  ModuleLoad := proc()
    unprotect(SymbolsToGen);
  end proc;
  ModuleLoad();
end module: # gensym

#############################################################################

BindingTools := module ()
  option package;
  export generic_evalat, generic_evalatstar, load_types_from_table;

  load_types_from_table := proc(types, unload::truefalse:=true, $)
    local ty_nm;
    if unload then
      for ty_nm in [ indices(types, nolist) ] do
        if TypeTools[Exists](ty_nm) then TypeTools[RemoveType](ty_nm) end if;
      end do;
    end if;

    for ty_nm in [ indices(types, nolist) ] do
      TypeTools[AddType]( ty_nm, types[ty_nm] );
    end do;
  end proc;

  generic_evalat := proc(vv::{name,list(name)}, mm, eqs, $)
    local v, m, eqsRemain, eq, rename, funs;
    funs := map2(op, 0, indets(mm, 'function'));
    eqsRemain := select(
      (eq -> op(1,eq) <> op(2,eq)
             and not has(op(1,eq), vv)
             and (not (op(1,eq) :: 'name')
                  or depends(mm, op(1,eq))
                  or member(op(1,eq), funs))),
      eqs);
    if nops(eqsRemain) = 0 then return vv, mm end if;
    m := mm;
    rename := proc(v::name, $)
      local vRename;
      if depends(eqsRemain, v) then
        vRename := gensym(v);
        m := subs(v=vRename, m);
        vRename
      else
        v
      end if
    end proc;
    if vv :: name then
      v := rename(vv)
    else
      v := map(rename, vv);
    end if;
    v, eval(m, eqsRemain);
  end proc:

  generic_evalatstar := proc(body, bound::list, eqs, $)
    local indefinite, e, n, b, j;
    e := foldl(((x,i) -> `if`(i::`=`,
                              lam(lhs(i), rhs(i), x),
                              lam(i, indefinite, x))),
               body, op(bound));
    e := eval(e, eqs); # Piggyback on `eval/lam`
    n := nops(bound);
    b := table();
    for j from n to 1 by -1 do
      b[j] := `if`(op(2,e)=indefinite, op(1,e), `=`(op(1..2,e)));
      e := op(3,e);
    end do;
    e, [entries(b, 'nolist', 'indexorder')]
  end proc:
end module: # BindingTools


f1:=proc() return 1; end proc:
f2:=proc() return 2; end proc:
f3:=proc() return 3; end proc:
f4:=proc() return 4; end proc:
fun:=proc(f1)
    global f2,f3,f4;
    print(f1(),f2(),f3(),f4());
end proc:
coverArgs:={},{}:
Grid:-Launch(fun,coverArgs,eval(f1),
             imports=['f2',"f3",':-f4'=eval(f4)]);


UpdateArchive := proc(lib_::string:="ppaml.mla")
  local libdir, drs, olddir, do_read, do_save, prev, fn, lib := lib_;
  drs := kernelopts(dirsep);

  libdir := eval(`if`(nargs=2,'args[2]','currentdir()'));
  if nargs=2 then
    libdir := args[2];
  else
    libdir := LibraryTools:-FindLibrary(Hakaru);
    if libdir <> NULL then
      libdir := FileTools:-ParentDirectory(libdir);
    else
      libdir := currentdir();
    end if;
  end if;
  olddir := currentdir(libdir):

  if not FileTools:-Exists(lib) then
    LibraryTools:-Create(lib):
  else
    try
      FileTools:-Remove(lib)
    catch:
      map(curry(march,'delete',lib)@curry(op,1),march('list', lib));
      if nops( march('list', lib) ) <> 0 then
        WARNING("Failed to delete all contents of %1",lib);
      end if;
    end try;
  end if:

  do_read := proc(x,$) read(cat(".",drs,x,".mpl")); NULL; end proc;
  do_save := proc(x,$) LibraryTools:-Save(x,lib); NULL; end proc;

  map(do_read,
   ["BindingTools", "Hakaru", "KB", "Partition", "Loop"
   ,"Domain", "NewSLO", "Summary"]);

  prev := kernelopts(opaquemodules=false):
  unprotect(Hakaru:-UpdateArchive);
  Hakaru:-UpdateArchive := copy(procname);
  protect(Hakaru:-UpdateArchive);

  map(do_save,
   [`gensym`, 'BindingTools', `depends/lam`, `depends/Branch`, `depends/Bind`, `depends/ary`, `depends/Plate`, `eval/lam`, `eval/Branch`, `eval/Bind`, `eval/ary`, `eval/Plate`, 'Hakaru', 'KB', `depends/forall`, `depends/Ints`, `depends/Sums`, `depends/ints`, `depends/sums`, `eval/forall`, `eval/Ints`, `eval/Sums`, `eval/ints`, `eval/sums`, `eval/Int`, `eval/Sum`, `eval/Product`, `eval/int`, `eval/sum`, `eval/product`, 'Loop', `depends/Integrand`, `depends/LO`, `eval/Integrand`, `eval/LO`, 'Domain', 'NewSLO', 'Partition', `depends/Bucket`, `depends/Index`, `eval/Bucket`, `eval/Index`, 'Summary', 'Bind', seq(parse(cat("`print/",q,"`")),q=[ints,sums,Ints,Sums]) ]);

  Domain:-Improve:-ModuleLoad():
  kernelopts(opaquemodules=prev):
  do_save('Domain:-Improve'):
  currentdir(olddir);
  NULL;
end proc:

UpdateArchive():


use DocumentTools in

SetProperty("sigma", value, ""):
exname := GetProperty("example_box", value):
# cleanup
SetProperty("LogAreaSIAN", value, ""):
SetProperty("LogAreaSE", value, ""):
SetProperty("LogAreaME", value, ""):
SetProperty("GlobalParams1", expression, NULL):
SetProperty("LocalParams1", expression, NULL):
SetProperty("NoIDParams1", expression, NULL):
SetProperty("being_refined", caption, ""):
SetProperty("Bound", expression, NULL):
SetProperty("MultiFunctions", expression, NULL):
SetProperty("SingleFunctions", expression, NULL):
SetProperty("RunningTimeSIAN", value, ""):
SetProperty("RunningTimeMulti", value, ""):
SetProperty("RunningTimeSingle", value, ""):
SetProperty("Parameters", value, ""):

SetProperty("sigma", value, exname):
if exname = "Custom" then
	SetProperty("sigma", value, ""):
else
	SetProperty("sigma", value,cat(op(examples[exname][2])),'refresh'):
fi:
end use;


# MarSystemComposite
# Type = Series
# Name = playbacknet

# MarControls = 12
# /Series/playbacknet/bool/debug = 0
# /Series/playbacknet/bool/mute = 0
# /Series/playbacknet/bool/probe = 0
# /Series/playbacknet/natural/inObservations = 1
# /Series/playbacknet/natural/inSamples = 512
# /Series/playbacknet/natural/onObservations = 1
# /Series/playbacknet/natural/onSamples = 512
# /Series/playbacknet/real/israte = 22050
# /Series/playbacknet/real/osrate = 22050
# /Series/playbacknet/realvec/input = # MARSYAS realvec
# Size = 0

# type: matrix
# rows: 1
# columns: 0

# Size = 0
# MARSYAS realvec

# /Series/playbacknet/string/inObsNames = audio,
# /Series/playbacknet/string/onObsNames = audio,

# Number of links = 6
# Synonyms of /Series/playbacknet/bool/mute =
# Number of synonyms = 1
# /Series/playbacknet/Gain/gt/bool/mute
# Synonyms of /Series/playbacknet/bool/hasData =
# Number of synonyms = 1
# /Series/playbacknet/SoundFileSource/src/bool/hasData
# Synonyms of /Series/playbacknet/natural/nChannels =
# Number of synonyms = 2
# /Series/playbacknet/SoundFileSource/src/natural/nChannels
# /Series/playbacknet/AudioSink/dest/natural/nChannels
# Synonyms of /Series/playbacknet/natural/pos =
# Number of synonyms = 1
# /Series/playbacknet/SoundFileSource/src/natural/pos
# Synonyms of /Series/playbacknet/real/israte =
# Number of synonyms = 1
# /Series/playbacknet/SoundFileSource/src/real/israte
# Synonyms of /Series/playbacknet/string/filename =
# Number of synonyms = 1
# /Series/playbacknet/SoundFileSource/src/string/filename

# nComponents = 5

# MarSystem
# Type = SoundFileSource
# Name = src

# MarControls = 23
# /SoundFileSource/src/bool/advance = 0
# /SoundFileSource/src/bool/debug = 0
# /SoundFileSource/src/bool/mute = 0
# /SoundFileSource/src/bool/hasData = 0
# /SoundFileSource/src/bool/noteon = 0
# /SoundFileSource/src/natural/inObservations = 1
# /SoundFileSource/src/natural/inSamples = 512
# /SoundFileSource/src/natural/loopPos = 0
# /SoundFileSource/src/natural/nChannels = 1
# /SoundFileSource/src/natural/numFiles = 0
# /SoundFileSource/src/natural/onObservations = 1
# /SoundFileSource/src/natural/onSamples = 512
# /SoundFileSource/src/natural/pos = 0
# /SoundFileSource/src/natural/size = 661500
# /SoundFileSource/src/real/duration = -1
# /SoundFileSource/src/real/frequency = 0
# /SoundFileSource/src/real/israte = 22050
# /SoundFileSource/src/real/osrate = 22050
# /SoundFileSource/src/real/repetitions = 1
# /SoundFileSource/src/string/allfilenames = ,
# /SoundFileSource/src/string/filename = defaultfile
# /SoundFileSource/src/string/inObsNames = audio,
# /SoundFileSource/src/string/onObsNames = audio,

# Number of links = 0

# MarSystem
# Type = Gain
# Name = gt

# MarControls = 11
# /Gain/gt/bool/debug = 0
# /Gain/gt/bool/mute = 0
# /Gain/gt/natural/inObservations = 1
# /Gain/gt/natural/inSamples = 512
# /Gain/gt/natural/onObservations = 1
# /Gain/gt/natural/onSamples = 512
# /Gain/gt/real/gain = 1
# /Gain/gt/real/israte = 22050
# /Gain/gt/real/osrate = 22050
# /Gain/gt/string/inObsNames = audio,
# /Gain/gt/string/onObsNames = audio,

# Number of links = 0

# MarSystem
# Type = AudioSink
# Name = dest

# MarControls = 13
# /AudioSink/dest/bool/debug = 0
# /AudioSink/dest/bool/init = 0
# /AudioSink/dest/bool/mute = 0
# /AudioSink/dest/natural/bufferSize = 512
# /AudioSink/dest/natural/inObservations = 1
# /AudioSink/dest/natural/inSamples = 512
# /AudioSink/dest/natural/nChannels = 1
# /AudioSink/dest/natural/onObservations = 1
# /AudioSink/dest/natural/onSamples = 512
# /AudioSink/dest/real/israte = 22050
# /AudioSink/dest/real/osrate = 22050
# /AudioSink/dest/string/inObsNames = audio,
# /AudioSink/dest/string/onObsNames = audio,

# Number of links = 0

# MarSystem
# Type = Gain
# Name = Default

# MarControls = 11
# /Gain/Default/bool/debug = 0
# /Gain/Default/bool/mute = 0
# /Gain/Default/natural/inObservations = 1
# /Gain/Default/natural/inSamples = 512
# /Gain/Default/natural/onObservations = 1
# /Gain/Default/natural/onSamples = 512
# /Gain/Default/real/gain = 1
# /Gain/Default/real/israte = 22050
# /Gain/Default/real/osrate = 22050
# /Gain/Default/string/inObsNames = audio,
# /Gain/Default/string/onObsNames = audio,

# Number of links = 0

# MarSystem
# Type = Gain
# Name = Default

# MarControls = 11
# /Gain/Default/bool/debug = 0
# /Gain/Default/bool/mute = 0
# /Gain/Default/natural/inObservations = 1
# /Gain/Default/natural/inSamples = 512
# /Gain/Default/natural/onObservations = 1
# /Gain/Default/natural/onSamples = 512
# /Gain/Default/real/gain = 1
# /Gain/Default/real/israte = 22050
# /Gain/Default/real/osrate = 22050
# /Gain/Default/string/inObsNames = audio,
# /Gain/Default/string/onObsNames = audio,

# Number of links = 0


repeat process ACV_cubes {
/execute @e[type=armor_stand,name=ACV_Cube] ~ ~ ~ detect ~ ~1 ~ minecraft:lava * kill @e[type=armor_stand,name=ACV_Cube,r=0,c=1]

/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID=0] ~ ~ ~ detect ~ ~1 ~ minecraft:air * tp @e[type=armor_stand,name=ACV_Cube,r=0,c=1] ~ ~-0.25 ~
/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID=0] ~ ~ ~ detect ~ ~1 ~ minecraft:stone_pressure_plate * tp @e[type=armor_stand,name=ACV_Cube,r=0,c=1] ~ ~-0.25 ~
/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID=0] ~ ~ ~ detect ~ ~1 ~ minecraft:carpet * tp @e[type=armor_stand,name=ACV_Cube,r=0,c=1] ~ ~-0.25 ~
/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID=0] ~ ~ ~ detect ~ ~1 ~ minecraft:tallgrass * tp @e[type=armor_stand,name=ACV_Cube,r=0,c=1] ~ ~-0.25 ~

/scoreboard players add @a ACV_CUBE_ID 0
/scoreboard players add @e[type=armor_stand,name=ACV_Cube] ACV_CUBE_ID 0
/scoreboard players tag @a remove ACV_HoldingArrow
/scoreboard players tag @a add ACV_HoldingArrow {SelectedItem:{id:"minecraft:arrow",tag:{display:{Name:"Picking up Cubes"}}}}
/scoreboard players set @a[score_ACV_CUBE_ID_min=1,tag=!ACV_HoldingArrow] ACV_CUBE_ID 0
/execute @p[score_ACV_CUBE_ID=0,tag=ACV_HoldingArrow] ~ ~ ~ scoreboard players operation ACV_Last_ID ACV_CUBE_ID %= 5 ACV_CONSTANT
/execute @p[score_ACV_CUBE_ID=0,tag=ACV_HoldingArrow] ~ ~ ~ scoreboard players add ACV_Last_ID ACV_CUBE_ID 1
/scoreboard players operation @r[type=player,score_ACV_CUBE_ID=0,tag=ACV_HoldingArrow] ACV_CUBE_ID += ACV_Last_ID ACV_CUBE_ID

/scoreboard players tag @a remove ACV_CubeLinked
/scoreboard players tag @e[type=armor_stand,name=ACV_Cube] remove ACV_CubeLinked
/execute @p[score_ACV_CUBE_ID_min=1,score_ACV_CUBE_ID=1] ~ ~ ~ execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,score_ACV_CUBE_ID=1] ~ ~ ~ scoreboard players tag @e[score_ACV_CUBE_ID_min=1,score_ACV_CUBE_ID=1] add ACV_CubeLinked
/execute @p[score_ACV_CUBE_ID_min=2,score_ACV_CUBE_ID=2] ~ ~ ~ execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=2,score_ACV_CUBE_ID=2] ~ ~ ~ scoreboard players tag @e[score_ACV_CUBE_ID_min=2,score_ACV_CUBE_ID=2] add ACV_CubeLinked
/execute @p[score_ACV_CUBE_ID_min=3,score_ACV_CUBE_ID=3] ~ ~ ~ execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=3,score_ACV_CUBE_ID=3] ~ ~ ~ scoreboard players tag @e[score_ACV_CUBE_ID_min=3,score_ACV_CUBE_ID=3] add ACV_CubeLinked
/execute @p[score_ACV_CUBE_ID_min=4,score_ACV_CUBE_ID=4] ~ ~ ~ execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=4,score_ACV_CUBE_ID=4] ~ ~ ~ scoreboard players tag @e[score_ACV_CUBE_ID_min=4,score_ACV_CUBE_ID=4] add ACV_CubeLinked
/execute @p[score_ACV_CUBE_ID_min=5,score_ACV_CUBE_ID=5] ~ ~ ~ execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=5,score_ACV_CUBE_ID=5] ~ ~ ~ scoreboard players tag @e[score_ACV_CUBE_ID_min=5,score_ACV_CUBE_ID=5] add ACV_CubeLinked

/scoreboard players set @e[type=armor_stand,name=ACV_Cube,tag=!ACV_CubeLinked] ACV_CUBE_ID 0
/execute @a[tag=!ACV_CubeLinked] ~ ~ ~ /scoreboard players operation @e[type=armor_stand,name=ACV_Cube,r=3,c=1] ACV_CUBE_ID += @p[tag=!ACV_CubeLinked] ACV_CUBE_ID

/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,score_ACV_CUBE_ID=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,c=1] @p[score_ACV_CUBE_ID_min=1,score_ACV_CUBE_ID=1]
/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=2,score_ACV_CUBE_ID=2] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,c=1] @p[score_ACV_CUBE_ID_min=2,score_ACV_CUBE_ID=2]
/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=3,score_ACV_CUBE_ID=3] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,c=1] @p[score_ACV_CUBE_ID_min=3,score_ACV_CUBE_ID=3]
/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=4,score_ACV_CUBE_ID=4] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,c=1] @p[score_ACV_CUBE_ID_min=4,score_ACV_CUBE_ID=4]
/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=5,score_ACV_CUBE_ID=5] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,c=1] @p[score_ACV_CUBE_ID_min=5,score_ACV_CUBE_ID=5]

// r=1 wegen https://bugs.mojang.com/browse/MC-90967
/execute @a[rym=169,ry=-168,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~0 ~-0.25 ~-2
/execute @a[rym=-167,ry=-146,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~0.7653668647301795434569199680608 ~-0.25 ~-1.8477590650225735122563663787936
/execute @a[rym=-145,ry=-123,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~1.4142135623730950488016887242097 ~-0.25 ~-1.4142135623730950488016887242097
/execute @a[rym=-122,ry=-101,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~1.8477590650225735122563663787936 ~-0.25 ~-0.7653668647301795434569199680608
/execute @a[rym=-100,ry=-78,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~2 ~-0.25 ~0
/execute @a[rym=-77,ry=-56,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~1.8477590650225735122563663787936 ~-0.25 ~0.7653668647301795434569199680608
/execute @a[rym=-55,ry=-33,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~1.4142135623730950488016887242097 ~-0.25 ~1.4142135623730950488016887242097
/execute @a[rym=-32,ry=-11,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~0.7653668647301795434569199680608 ~-0.25 ~1.8477590650225735122563663787936
/execute @a[rym=-10,ry=11,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~0 ~-0.25 ~2
/execute @a[rym=12,ry=33,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~-0.7653668647301795434569199680608 ~-0.25 ~1.8477590650225735122563663787936
/execute @a[rym=34,ry=56,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~-1.4142135623730950488016887242097 ~-0.25 ~1.4142135623730950488016887242097
/execute @a[rym=57,ry=78,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~-1.8477590650225735122563663787936 ~-0.25 ~0.7653668647301795434569199680608
/execute @a[rym=79,ry=101,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~-2 ~-0.25 ~0
/execute @a[rym=102,ry=123,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~-1.8477590650225735122563663787936 ~-0.25 ~-0.7653668647301795434569199680608
/execute @a[rym=124,ry=146,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~-1.4142135623730950488016887242097 ~-0.25 ~-1.4142135623730950488016887242097
/execute @a[rym=147,ry=168,score_ACV_CUBE_ID_min=1] ~ ~ ~ tp @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID_min=1,r=1,c=1] ~-0.7653668647301795434569199680608 ~-0.25 ~-1.8477590650225735122563663787936

/kill @e[type=armor_stand,name=cube_update]
/execute @e[type=armor_stand,name=ACV_Cube,score_ACV_CUBE_ID=0] ~ ~ ~ summon armor_stand ~ ~1.25 ~ {CustomName:"cube_update",Invisible:1b,Invulnerable:1b,Marker:1b}
}


use DocumentTools in

if parse(GetProperty("ComputeId", value)) then
	SetProperty("bypass", enabled, true):
	SetProperty("SkipSingle", enabled, true):
	SetProperty("SimplifiedGen", enabled, true):
	SetProperty("NoBound", enabled, true):
	SetProperty("Refine", enabled, true):

else
	SetProperty("bypass", enabled, false):
	SetProperty("SkipSingle", enabled, false):
	SetProperty("SimplifiedGen", enabled, false):
	SetProperty("NoBound", enabled, false):
	SetProperty("Refine", enabled, false):
	SetProperty("UsingUpTo", enabled, false):
	SetProperty("MaxPermutations", enabled, false):
	SetProperty("Permutations", enabled, false):

fi:
end use;


# MarSystemComposite
# Type = Series
# Name = featureNetwork

# MarControls = 23
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/hasData = 0
# Links = 1
# /Series/featureNetwork/SoundFileSource/src/mrs_bool/hasData
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/nChannels = 1
# Links = 2
# /Series/featureNetwork/SoundFileSource/src/mrs_natural/nChannels
# /Series/featureNetwork/AudioSink/dest/mrs_natural/nChannels
# mrs_natural/onObservations = 2
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_natural/pos = 661500
# Links = 1
# /Series/featureNetwork/SoundFileSource/src/mrs_natural/pos
# mrs_real/israte = 22050
# Links = 1
# /Series/featureNetwork/SoundFileSource/src/mrs_real/israte
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/input0 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input1 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input2 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input3 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input4 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input5 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input6 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/filename = /home/gtzan/data/sound/music_speech/speech/voices.au
# Links = 1
# /Series/featureNetwork/SoundFileSource/src/mrs_string/filename
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0

# nComponents = 8

# MarSystem
# Type = SoundFileSource
# Name = src

# MarControls = 27
# mrs_bool/active = 1
# Links = 0
# mrs_bool/advance = 0
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/hasData = 0
# Links = 1
# /Series/featureNetwork/mrs_bool/hasData
# mrs_bool/noteon = 0
# Links = 0
# mrs_bool/shuffle = 0
# Links = 0
# mrs_natural/cindex = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/loopPos = 0
# Links = 0
# mrs_natural/nChannels = 1
# Links = 1
# /Series/featureNetwork/mrs_natural/nChannels
# mrs_natural/numFiles = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 512
# Links = 0
# mrs_natural/pos = 661500
# Links = 1
# /Series/featureNetwork/mrs_natural/pos
# mrs_natural/size = 661500
# Links = 0
# mrs_real/duration = -1
# Links = 0
# mrs_real/frequency = 0
# Links = 0
# mrs_real/israte = 22050
# Links = 1
# /Series/featureNetwork/mrs_real/israte
# mrs_real/osrate = 22050
# Links = 0
# mrs_real/repetitions = 1
# Links = 0
# mrs_string/allfilenames = ,
# Links = 0
# mrs_string/currentlyPlaying = daufile
# Links = 0
# mrs_string/filename = /home/gtzan/data/sound/music_speech/speech/voices.au
# Links = 1
# /Series/featureNetwork/mrs_string/filename
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = audio,
# Links = 0

# MarSystem
# Type = AudioSink
# Name = dest

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/bufferSize = 512
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/nChannels = 1
# Links = 1
# /Series/featureNetwork/mrs_natural/nChannels
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 512
# Links = 0
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 22050
# Links = 0
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = audio,
# Links = 0

# MarSystemComposite
# Type = Series
# Name = STFTMFCCextractor

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/input0 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = Centroid,Kurtosis,Rolloff,Flux,MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0

# nComponents = 2

# MarSystemComposite
# Type = PowerSpectrumNet
# Name = powerSpect

# MarControls = 17
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/WindowSize = 512
# Links = 1
# /Series/featureNetwork/Series/STFTMFCCextractor/PowerSpectrumNet/powerSpect/ShiftInput/si/mrs_natural/WindowSize
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 256
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/cutoff = 1
# Links = 1
# /Series/featureNetwork/Series/STFTMFCCextractor/PowerSpectrumNet/powerSpect/Spectrum/spk/mrs_real/cutoff
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/input0 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input1 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input2 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0

# nComponents = 4

# MarSystem
# Type = ShiftInput
# Name = si

# MarControls = 14
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/reset = 0
# Links = 0
# mrs_natural/Decimation = 512
# Links = 0
# mrs_natural/WindowSize = 512
# Links = 1
# /Series/featureNetwork/Series/STFTMFCCextractor/PowerSpectrumNet/powerSpect/mrs_natural/WindowSize
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 512
# Links = 0
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 22050
# Links = 0
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0

# MarSystem
# Type = Hamming
# Name = hamming

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 512
# Links = 0
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 22050
# Links = 0
# mrs_string/inObsNames = ,
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0

# MarSystem
# Type = Spectrum
# Name = spk

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 512
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/cutoff = 1
# Links = 1
# /Series/featureNetwork/Series/STFTMFCCextractor/PowerSpectrumNet/powerSpect/mrs_real/cutoff
# mrs_real/israte = 22050
# Links = 0
# mrs_real/lowcutoff = 0
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = ,
# Links = 0
# mrs_string/onObsNames = rbin_0,ibin_0,rbin_1,ibin_1,rbin_2,ibin_2,rbin_3,ibin_3,rbin_4,ibin_4,rbin_5,ibin_5,rbin_6,ibin_6,rbin_7,ibin_7,rbin_8,ibin_8,rbin_9,ibin_9,rbin_10,ibin_10,rbin_11,ibin_11,rbin_12,ibin_12,rbin_13,ibin_13,rbin_14,ibin_14,rbin_15,ibin_15,rbin_16,ibin_16,rbin_17,ibin_17,rbin_18,ibin_18,rbin_19,ibin_19,rbin_20,ibin_20,rbin_21,ibin_21,rbin_22,ibin_22,rbin_23,ibin_23,rbin_24,ibin_24,rbin_25,ibin_25,rbin_26,ibin_26,rbin_27,ibin_27,rbin_28,ibin_28,rbin_29,ibin_29,rbin_30,ibin_30,rbin_31,ibin_31,rbin_32,ibin_32,rbin_33,ibin_33,rbin_34,ibin_34,rbin_35,ibin_35,rbin_36,ibin_36,rbin_37,ibin_37,rbin_38,ibin_38,rbin_39,ibin_39,rbin_40,ibin_40,rbin_41,ibin_41,rbin_42,ibin_42,rbin_43,ibin_43,rbin_44,ibin_44,rbin_45,ibin_45,rbin_46,ibin_46,rbin_47,ibin_47,rbin_48,ibin_48,rbin_49,ibin_49,rbin_50,ibin_50,rbin_51,ibin_51,rbin_52,ibin_52,rbin_53,ibin_53,rbin_54,ibin_54,rbin_55,ibin_55,rbin_56,ibin_56,rbin_57,ibin_57,rbin_58,ibin_58,rbin_59,ibin_59,rbin_60,ibin_60,rbin_61,ibin_61,rbin_62,ibin_62,rbin_63,ibin_63,rbin_64,ibin_64,rbin_65,ibin_65,rbin_66,ibin_66,rbin_67,ibin_67,rbin_68,ibin_68,rbin_69,ibin_69,rbin_70,ibin_70,rbin_71,ibin_71,rbin_72,ibin_72,rbin_73,ibin_73,rbin_74,ibin_74,rbin_75,ibin_75,rbin_76,ibin_76,rbin_77,ibin_77,rbin_78,ibin_78,rbin_79,ibin_79,rbin_80,ibin_80,rbin_81,ibin_81,rbin_82,ibin_82,rbin_83,ibin_83,rbin_84,ibin_84,rbin_85,ibin_85,rbin_86,ibin_86,rbin_87,ibin_87,rbin_88,ibin_88,rbin_89,ibin_89,rbin_90,ibin_90,rbin_91,ibin_91,rbin_92,ibin_92,rbin_93,ibin_93,rbin_94,ibin_94,rbin_95,ibin_95,rbin_96,ibin_96,rbin_97,ibin_97,rbin_98,ibin_98,rbin_99,ibin_99,rbin_100,ibin_100,rbin_101,ibin_101,rbin_102,ibin_102,rbin_103,ibin_103,rbin_104,ibin_104,rbin_105,ibin_105,rbin_106,ibin_106,rbin_107,ibin_107,rbin_108,ibin_108,rbin_109,ibin_109,rbin_110,ibin_110,rbin_111,ibin_111,rbin_112,ibin_112,rbin_113,ibin_113,rbin_114,ibin_114,rbin_115,ibin_115,rbin_116,ibin_116,rbin_117,ibin_117,rbin_118,ibin_118,rbin_119,ibin_119,rbin_120,ibin_120,rbin_121,ibin_121,rbin_122,ibin_122,rbin_123,ibin_123,rbin_124,ibin_124,rbin_125,ibin_125,rbin_126,ibin_126,rbin_127,ibin_127,rbin_128,ibin_128,rbin_129,ibin_129,rbin_130,ibin_130,rbin_131,ibin_131,rbin_132,ibin_132,rbin_133,ibin_133,rbin_134,ibin_134,rbin_135,ibin_135,rbin_136,ibin_136,rbin_137,ibin_137,rbin_138,ibin_138,rbin_139,ibin_139,rbin_140,ibin_140,rbin_141,ibin_141,rbin_142,ibin_142,rbin_143,ibin_143,rbin_144,ibin_144,rbin_145,ibin_145,rbin_146,ibin_146,rbin_147,ibin_147,rbin_148,ibin_148,rbin_149,ibin_149,rbin_150,ibin_150,rbin_151,ibin_151,rbin_152,ibin_152,rbin_153,ibin_153,rbin_154,ibin_154,rbin_155,ibin_155,rbin_156,ibin_156,rbin_157,ibin_157,rbin_158,ibin_158,rbin_159,ibin_159,rbin_160,ibin_160,rbin_161,ibin_161,rbin_162,ibin_162,rbin_163,ibin_163,rbin_164,ibin_164,rbin_165,ibin_165,rbin_166,ibin_166,rbin_167,ibin_167,rbin_168,ibin_168,rbin_169,ibin_169,rbin_170,ibin_170,rbin_171,ibin_171,rbin_172,ibin_172,rbin_173,ibin_173,rbin_174,ibin_174,rbin_175,ibin_175,rbin_176,ibin_176,rbin_177,ibin_177,rbin_178,ibin_178,rbin_179,ibin_179,rbin_180,ibin_180,rbin_181,ibin_181,rbin_182,ibin_182,rbin_183,ibin_183,rbin_184,ibin_184,rbin_185,ibin_185,rbin_186,ibin_186,rbin_187,ibin_187,rbin_188,ibin_188,rbin_189,ibin_189,rbin_190,ibin_190,rbin_191,ibin_191,rbin_192,ibin_192,rbin_193,ibin_193,rbin_194,ibin_194,rbin_195,ibin_195,rbin_196,ibin_196,rbin_197,ibin_197,rbin_198,ibin_198,rbin_199,ibin_199,rbin_200,ibin_200,rbin_201,ibin_201,rbin_202,ibin_202,rbin_203,ibin_203,rbin_204,ibin_204,rbin_205,ibin_205,rbin_206,ibin_206,rbin_207,ibin_207,rbin_208,ibin_208,rbin_209,ibin_209,rbin_210,ibin_210,rbin_211,ibin_211,rbin_212,ibin_212,rbin_213,ibin_213,rbin_214,ibin_214,rbin_215,ibin_215,rbin_216,ibin_216,rbin_217,ibin_217,rbin_218,ibin_218,rbin_219,ibin_219,rbin_220,ibin_220,rbin_221,ibin_221,rbin_222,ibin_222,rbin_223,ibin_223,rbin_224,ibin_224,rbin_225,ibin_225,rbin_226,ibin_226,rbin_227,ibin_227,rbin_228,ibin_228,rbin_229,ibin_229,rbin_230,ibin_230,rbin_231,ibin_231,rbin_232,ibin_232,rbin_233,ibin_233,rbin_234,ibin_234,rbin_235,ibin_235,rbin_236,ibin_236,rbin_237,ibin_237,rbin_238,ibin_238,rbin_239,ibin_239,rbin_240,ibin_240,rbin_241,ibin_241,rbin_242,ibin_242,rbin_243,ibin_243,rbin_244,ibin_244,rbin_245,ibin_245,rbin_246,ibin_246,rbin_247,ibin_247,rbin_248,ibin_248,rbin_249,ibin_249,rbin_250,ibin_250,rbin_251,ibin_251,rbin_252,ibin_252,rbin_253,ibin_253,rbin_254,ibin_254,rbin_255,ibin_255,
# Links = 0

# MarSystem
# Type = PowerSpectrum
# Name = pspk

# MarControls = 12
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 512
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 256
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = rbin_0,ibin_0,rbin_1,ibin_1,rbin_2,ibin_2,rbin_3,ibin_3,rbin_4,ibin_4,rbin_5,ibin_5,rbin_6,ibin_6,rbin_7,ibin_7,rbin_8,ibin_8,rbin_9,ibin_9,rbin_10,ibin_10,rbin_11,ibin_11,rbin_12,ibin_12,rbin_13,ibin_13,rbin_14,ibin_14,rbin_15,ibin_15,rbin_16,ibin_16,rbin_17,ibin_17,rbin_18,ibin_18,rbin_19,ibin_19,rbin_20,ibin_20,rbin_21,ibin_21,rbin_22,ibin_22,rbin_23,ibin_23,rbin_24,ibin_24,rbin_25,ibin_25,rbin_26,ibin_26,rbin_27,ibin_27,rbin_28,ibin_28,rbin_29,ibin_29,rbin_30,ibin_30,rbin_31,ibin_31,rbin_32,ibin_32,rbin_33,ibin_33,rbin_34,ibin_34,rbin_35,ibin_35,rbin_36,ibin_36,rbin_37,ibin_37,rbin_38,ibin_38,rbin_39,ibin_39,rbin_40,ibin_40,rbin_41,ibin_41,rbin_42,ibin_42,rbin_43,ibin_43,rbin_44,ibin_44,rbin_45,ibin_45,rbin_46,ibin_46,rbin_47,ibin_47,rbin_48,ibin_48,rbin_49,ibin_49,rbin_50,ibin_50,rbin_51,ibin_51,rbin_52,ibin_52,rbin_53,ibin_53,rbin_54,ibin_54,rbin_55,ibin_55,rbin_56,ibin_56,rbin_57,ibin_57,rbin_58,ibin_58,rbin_59,ibin_59,rbin_60,ibin_60,rbin_61,ibin_61,rbin_62,ibin_62,rbin_63,ibin_63,rbin_64,ibin_64,rbin_65,ibin_65,rbin_66,ibin_66,rbin_67,ibin_67,rbin_68,ibin_68,rbin_69,ibin_69,rbin_70,ibin_70,rbin_71,ibin_71,rbin_72,ibin_72,rbin_73,ibin_73,rbin_74,ibin_74,rbin_75,ibin_75,rbin_76,ibin_76,rbin_77,ibin_77,rbin_78,ibin_78,rbin_79,ibin_79,rbin_80,ibin_80,rbin_81,ibin_81,rbin_82,ibin_82,rbin_83,ibin_83,rbin_84,ibin_84,rbin_85,ibin_85,rbin_86,ibin_86,rbin_87,ibin_87,rbin_88,ibin_88,rbin_89,ibin_89,rbin_90,ibin_90,rbin_91,ibin_91,rbin_92,ibin_92,rbin_93,ibin_93,rbin_94,ibin_94,rbin_95,ibin_95,rbin_96,ibin_96,rbin_97,ibin_97,rbin_98,ibin_98,rbin_99,ibin_99,rbin_100,ibin_100,rbin_101,ibin_101,rbin_102,ibin_102,rbin_103,ibin_103,rbin_104,ibin_104,rbin_105,ibin_105,rbin_106,ibin_106,rbin_107,ibin_107,rbin_108,ibin_108,rbin_109,ibin_109,rbin_110,ibin_110,rbin_111,ibin_111,rbin_112,ibin_112,rbin_113,ibin_113,rbin_114,ibin_114,rbin_115,ibin_115,rbin_116,ibin_116,rbin_117,ibin_117,rbin_118,ibin_118,rbin_119,ibin_119,rbin_120,ibin_120,rbin_121,ibin_121,rbin_122,ibin_122,rbin_123,ibin_123,rbin_124,ibin_124,rbin_125,ibin_125,rbin_126,ibin_126,rbin_127,ibin_127,rbin_128,ibin_128,rbin_129,ibin_129,rbin_130,ibin_130,rbin_131,ibin_131,rbin_132,ibin_132,rbin_133,ibin_133,rbin_134,ibin_134,rbin_135,ibin_135,rbin_136,ibin_136,rbin_137,ibin_137,rbin_138,ibin_138,rbin_139,ibin_139,rbin_140,ibin_140,rbin_141,ibin_141,rbin_142,ibin_142,rbin_143,ibin_143,rbin_144,ibin_144,rbin_145,ibin_145,rbin_146,ibin_146,rbin_147,ibin_147,rbin_148,ibin_148,rbin_149,ibin_149,rbin_150,ibin_150,rbin_151,ibin_151,rbin_152,ibin_152,rbin_153,ibin_153,rbin_154,ibin_154,rbin_155,ibin_155,rbin_156,ibin_156,rbin_157,ibin_157,rbin_158,ibin_158,rbin_159,ibin_159,rbin_160,ibin_160,rbin_161,ibin_161,rbin_162,ibin_162,rbin_163,ibin_163,rbin_164,ibin_164,rbin_165,ibin_165,rbin_166,ibin_166,rbin_167,ibin_167,rbin_168,ibin_168,rbin_169,ibin_169,rbin_170,ibin_170,rbin_171,ibin_171,rbin_172,ibin_172,rbin_173,ibin_173,rbin_174,ibin_174,rbin_175,ibin_175,rbin_176,ibin_176,rbin_177,ibin_177,rbin_178,ibin_178,rbin_179,ibin_179,rbin_180,ibin_180,rbin_181,ibin_181,rbin_182,ibin_182,rbin_183,ibin_183,rbin_184,ibin_184,rbin_185,ibin_185,rbin_186,ibin_186,rbin_187,ibin_187,rbin_188,ibin_188,rbin_189,ibin_189,rbin_190,ibin_190,rbin_191,ibin_191,rbin_192,ibin_192,rbin_193,ibin_193,rbin_194,ibin_194,rbin_195,ibin_195,rbin_196,ibin_196,rbin_197,ibin_197,rbin_198,ibin_198,rbin_199,ibin_199,rbin_200,ibin_200,rbin_201,ibin_201,rbin_202,ibin_202,rbin_203,ibin_203,rbin_204,ibin_204,rbin_205,ibin_205,rbin_206,ibin_206,rbin_207,ibin_207,rbin_208,ibin_208,rbin_209,ibin_209,rbin_210,ibin_210,rbin_211,ibin_211,rbin_212,ibin_212,rbin_213,ibin_213,rbin_214,ibin_214,rbin_215,ibin_215,rbin_216,ibin_216,rbin_217,ibin_217,rbin_218,ibin_218,rbin_219,ibin_219,rbin_220,ibin_220,rbin_221,ibin_221,rbin_222,ibin_222,rbin_223,ibin_223,rbin_224,ibin_224,rbin_225,ibin_225,rbin_226,ibin_226,rbin_227,ibin_227,rbin_228,ibin_228,rbin_229,ibin_229,rbin_230,ibin_230,rbin_231,ibin_231,rbin_232,ibin_232,rbin_233,ibin_233,rbin_234,ibin_234,rbin_235,ibin_235,rbin_236,ibin_236,rbin_237,ibin_237,rbin_238,ibin_238,rbin_239,ibin_239,rbin_240,ibin_240,rbin_241,ibin_241,rbin_242,ibin_242,rbin_243,ibin_243,rbin_244,ibin_244,rbin_245,ibin_245,rbin_246,ibin_246,rbin_247,ibin_247,rbin_248,ibin_248,rbin_249,ibin_249,rbin_250,ibin_250,rbin_251,ibin_251,rbin_252,ibin_252,rbin_253,ibin_253,rbin_254,ibin_254,rbin_255,ibin_255,
# Links = 0
# mrs_string/onObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/spectrumType = power
# Links = 0

# MarSystemComposite
# Type = Fanout
# Name = spectrumFeatures

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/disable = -1
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Centroid,Kurtosis,Rolloff,Flux,MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0

# nComponents = 5

# MarSystem
# Type = Centroid
# Name = cntrd

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Centroid,
# Links = 0

# MarSystem
# Type = Kurtosis
# Name = krt

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Kurtosis,
# Links = 0

# MarSystem
# Type = Rolloff
# Name = rlf

# MarControls = 12
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_real/percentage = 0.9
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Rolloff,
# Links = 0

# MarSystem
# Type = Flux
# Name = flux

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Flux,
# Links = 0

# MarSystem
# Type = MFCC
# Name = mfcc

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 13
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0

# MarSystemComposite
# Type = TextureStats
# Name = tStats

# MarControls = 15
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_bool/reset = 0
# Links = 1
# /Series/featureNetwork/TextureStats/tStats/Memory/mempr/mrs_bool/reset
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/memSize = 40
# Links = 1
# /Series/featureNetwork/TextureStats/tStats/Memory/mempr/mrs_natural/memSize
# mrs_natural/onObservations = 34
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/input0 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/inObsNames = Centroid,Kurtosis,Rolloff,Flux,MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# nComponents = 2

# MarSystem
# Type = Memory
# Name = mempr

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/reset = 0
# Links = 1
# /Series/featureNetwork/TextureStats/tStats/mrs_bool/reset
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/memSize = 40
# Links = 1
# /Series/featureNetwork/TextureStats/tStats/mrs_natural/memSize
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 40
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Centroid,Kurtosis,Rolloff,Flux,MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mem40_Centroid,Mem40_Kurtosis,Mem40_Rolloff,Mem40_Flux,Mem40_MFCC_0,Mem40_MFCC_1,Mem40_MFCC_2,Mem40_MFCC_3,Mem40_MFCC_4,Mem40_MFCC_5,Mem40_MFCC_6,Mem40_MFCC_7,Mem40_MFCC_8,Mem40_MFCC_9,Mem40_MFCC_10,Mem40_MFCC_11,Mem40_MFCC_12,
# Links = 0

# MarSystemComposite
# Type = Fanout
# Name = meanstdpr

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/disable = -1
# Links = 0
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 40
# Links = 0
# mrs_natural/onObservations = 34
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Mem40_Centroid,Mem40_Kurtosis,Mem40_Rolloff,Mem40_Flux,Mem40_MFCC_0,Mem40_MFCC_1,Mem40_MFCC_2,Mem40_MFCC_3,Mem40_MFCC_4,Mem40_MFCC_5,Mem40_MFCC_6,Mem40_MFCC_7,Mem40_MFCC_8,Mem40_MFCC_9,Mem40_MFCC_10,Mem40_MFCC_11,Mem40_MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# nComponents = 2

# MarSystem
# Type = Mean
# Name = meanpr

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 40
# Links = 0
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Mem40_Centroid,Mem40_Kurtosis,Mem40_Rolloff,Mem40_Flux,Mem40_MFCC_0,Mem40_MFCC_1,Mem40_MFCC_2,Mem40_MFCC_3,Mem40_MFCC_4,Mem40_MFCC_5,Mem40_MFCC_6,Mem40_MFCC_7,Mem40_MFCC_8,Mem40_MFCC_9,Mem40_MFCC_10,Mem40_MFCC_11,Mem40_MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,
# Links = 0

# MarSystem
# Type = StandardDeviation
# Name = stdpr

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 40
# Links = 0
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Mem40_Centroid,Mem40_Kurtosis,Mem40_Rolloff,Mem40_Flux,Mem40_MFCC_0,Mem40_MFCC_1,Mem40_MFCC_2,Mem40_MFCC_3,Mem40_MFCC_4,Mem40_MFCC_5,Mem40_MFCC_6,Mem40_MFCC_7,Mem40_MFCC_8,Mem40_MFCC_9,Mem40_MFCC_10,Mem40_MFCC_11,Mem40_MFCC_12,
# Links = 0
# mrs_string/onObsNames = Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# MarSystem
# Type = Annotator
# Name = annotator

# MarControls = 12
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 34
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/label = 1
# Links = 0
# mrs_natural/onObservations = 35
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# MarSystem
# Type = WekaSink
# Name = wsink

# MarControls = 16
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 1
# Links = 0
# mrs_natural/downsample = 40
# Links = 0
# mrs_natural/inObservations = 35
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/nLabels = 2
# Links = 0
# mrs_natural/onObservations = 35
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_natural/precision = 6
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/filename = ms.arff
# Links = 0
# mrs_string/inObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0
# mrs_string/labelNames = music,speech,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# MarSystem
# Type = GaussianClassifier
# Name = gaussian

# MarControls = 16
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/done = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 35
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/nLabels = 2
# Links = 0
# mrs_natural/onObservations = 2
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/covars = # MARSYAS mrs_realvec
# Size = 70

# type: matrix
# rows: 2
# columns: 35
672.379 1.47497e-08 89.5768 8517.5 0.0233969 0.23238 0.513391 0.931705 1.87384 3.14514 3.59291 3.2907 4.21805 4.22248 4.68597 4 5.20302 2632.23 1.3601e-07 105.06 1108.59 0.188578 4.92252 11.9482 18.9613 34.6472 50.5192 57.9484 50.1774 43.1415 41.9485 37.4851 38.1676 35.1479 0
547.166 1.50454e-08 56.7602 6419.93 0.0283574 0.465259 0.6635 1.21599 3.11309 3.43575 3.91207 5.90317 7.67139 8.40763 11.452 7.94557 15.9763 471.969 1.28097e-07 79.3564 1137.1 0.116155 1.4079 5.23462 5.28944 9.50641 23.1513 22.2943 29.6261 45.2732 50.2671 57.3334 61.4233 59.8031 0

# Size = 70
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/means = # MARSYAS mrs_realvec
# Size = 70

# type: matrix
# rows: 2
# columns: 35
0.0637271 27148.7 0.152104 0.0806132 -70.6699 5.63442 0.0308151 1.93386 0.358042 0.658067 0.312909 0.395901 0.313466 0.338927 0.306107 0.31695 0.314723 0.0256222 10397.5 0.0936324 0.0310235 3.16361 0.986486 0.75197 0.63195 0.554695 0.514538 0.498398 0.499868 0.500676 0.498132 0.495666 0.481479 0.48175 0
0.0865026 30467.5 0.278593 0.089635 -76.5046 4.75224 0.152343 2.26231 0.601581 0.437158 0.507565 0.36562 0.475342 0.454828 0.380355 0.400384 0.447518 0.0724108 13876.9 0.240568 0.0350258 6.64523 2.13963 1.2967 1.33244 0.996553 0.770918 0.775152 0.711787 0.620098 0.587889 0.547875 0.519989 0.493572 0

# Size = 70
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/inObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0
# mrs_string/mode = predict
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0

# MarSystem
# Type = Confidence
# Name = confidence

# MarControls = 16
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/forcePrint = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/print = 1
# Links = 0
# mrs_natural/inObservations = 2
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/memSize = 40
# Links = 0
# mrs_natural/nLabels = 2
# Links = 0
# mrs_natural/onObservations = 2
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = ,
# Links = 0
# mrs_string/labelNames = music,speech,
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0


# MarSystemComposite
# Type = Series
# Name = playbacknet

# MarControls = 8
# /Series/playbacknet/mrs_bool/debug = 0
# /Series/playbacknet/mrs_bool/mute = 0
# /Series/playbacknet/mrs_natural/inObservations = 1
# /Series/playbacknet/mrs_natural/inSamples = 512
# /Series/playbacknet/mrs_natural/onObservations = 1
# /Series/playbacknet/mrs_natural/onSamples = 512
# /Series/playbacknet/mrs_real/israte = 22050
# /Series/playbacknet/mrs_real/osrate = 22050

# Number of links = 6
# Synonyms of /Series/playbacknet/mrs_bool/mute =
# Number of synonyms = 1
# /Series/playbacknet/Gain/gt/mrs_bool/mute
# Synonyms of /Series/playbacknet/mrs_bool/hasData =
# Number of synonyms = 1
# /Series/playbacknet/SoundFileSource/src/mrs_bool/hasData
# Synonyms of /Series/playbacknet/mrs_natural/nChannels =
# Number of synonyms = 2
# /Series/playbacknet/SoundFileSource/src/mrs_natural/nChannels
# /Series/playbacknet/AudioSink/dest/mrs_natural/nChannels
# Synonyms of /Series/playbacknet/mrs_natural/pos =
# Number of synonyms = 1
# /Series/playbacknet/SoundFileSource/src/mrs_natural/pos
# Synonyms of /Series/playbacknet/mrs_real/israte =
# Number of synonyms = 1
# /Series/playbacknet/SoundFileSource/src/mrs_real/israte
# Synonyms of /Series/playbacknet/mrs_string/filename =
# Number of synonyms = 1
# /Series/playbacknet/SoundFileSource/src/mrs_string/filename

# nComponents = 3

# MarSystem
# Type = SoundFileSource
# Name = src

# MarControls = 17
# /SoundFileSource/src/mrs_bool/debug = 0
# /SoundFileSource/src/mrs_bool/mute = 0
# /SoundFileSource/src/mrs_bool/hasData = 0
# /SoundFileSource/src/mrs_bool/noteon = 0
# /SoundFileSource/src/mrs_natural/inObservations = 1
# /SoundFileSource/src/mrs_natural/inSamples = 512
# /SoundFileSource/src/mrs_natural/nChannels = 1
# /SoundFileSource/src/mrs_natural/onObservations = 1
# /SoundFileSource/src/mrs_natural/onSamples = 512
# /SoundFileSource/src/mrs_natural/pos = 0
# /SoundFileSource/src/mrs_natural/size = 661500
# /SoundFileSource/src/mrs_real/duration = -1
# /SoundFileSource/src/mrs_real/frequency = 0
# /SoundFileSource/src/mrs_real/israte = 22050
# /SoundFileSource/src/mrs_real/osrate = 22050
# /SoundFileSource/src/mrs_real/repetitions = 1
# /SoundFileSource/src/mrs_string/filename = /home/gtzan/data/sound/music_speech/music/gravity.au

# Number of links = 0

# MarSystem
# Type = Gain
# Name = gt

# MarControls = 9
# /Gain/gt/mrs_bool/debug = 0
# /Gain/gt/mrs_bool/mute = 0
# /Gain/gt/mrs_natural/inObservations = 1
# /Gain/gt/mrs_natural/inSamples = 512
# /Gain/gt/mrs_natural/onObservations = 1
# /Gain/gt/mrs_natural/onSamples = 512
# /Gain/gt/mrs_real/gain = 1
# /Gain/gt/mrs_real/israte = 22050
# /Gain/gt/mrs_real/osrate = 22050

# Number of links = 0

# MarSystem
# Type = AudioSink
# Name = dest

# MarControls = 10
# /AudioSink/dest/mrs_bool/debug = 0
# /AudioSink/dest/mrs_bool/init = 0
# /AudioSink/dest/mrs_bool/mute = 0
# /AudioSink/dest/mrs_natural/inObservations = 1
# /AudioSink/dest/mrs_natural/inSamples = 512
# /AudioSink/dest/mrs_natural/nChannels = 1
# /AudioSink/dest/mrs_natural/onObservations = 1
# /AudioSink/dest/mrs_natural/onSamples = 512
# /AudioSink/dest/mrs_real/israte = 22050
# /AudioSink/dest/mrs_real/osrate = 22050

# Number of links = 0


__BEGIN__

def xjoin(tgt, between, after, join)
	tgt.map {|a, b| "#{a}#{between}#{b}#{after}" }.join(join)
end

def sep(i, c, between = ",")
	between if c.length != i+1
end

__END__
%def genproto
%self.each do |msg|
struct [%msg.name%] {
	static const int method = [%msg.id%];  %>if msg.id

	%# constructor
	%unless msg.body.empty?
	[%msg.name%](
		const [%b.type%]& [%b.name%]_[%sep(i, msg.body)%]  %|b,i| msg.body.each_with_index
	) :
		[%b.name%]([%b.name%]_)[%sep(i, msg.body)%]  %|b,i| msg.body.each_with_index
	{ }
	%end

	%# default constructor
	[%msg.name%]() { }

	%# unpack
	void msgpack_unpack(msgpack::object o)
	{
		if(o.type != msgpack::type::ARRAY ||
				o.via.array.size < [%msg.required.size%] ||
				o.via.array.size > [%msg.body.size%]) {
			throw msgpack::type_error();
		}
		[%b.name%] = o.via.array.ptr[[%i%]].as<[%b.type%] >();  %|b,i| msg.required.each_with_index

		%unless msg.optional.empty?
		switch(o.via.array.size) {
		%msg.optional.length.times do |i|
		case [%msg.required.size + i%]:
			[%x.name%] = o.via.array.ptr[[%i%]].as<[%x.type%] >(); %|x| msg.optional[0..i].each
			[%x.name%] = [%x.default%];  %|x| msg.optional[i+1..-1].each
			break;
		%end
		}
		%end
	}

	%# pack
	template <typename Packer>
	void msgpack_pack(Packer& pk) const
	{
		pk.pack_array([%msg.body.size%]);
		pk.pack([%b.name%]); %|b| msg.body.each
	}

	%# members
	[%b.type%] [%b.name%];  %|b| msg.body.each
};

%end
%end  # def genproto
%# vim: syntax=mplex


__BEGIN__
def delim(i, c, between = ",")
	between if c.length != i+1
end
__END__
%self.each do |msg|
struct [%msg.name%] {
	%# constructor
	%unless msg.member.empty?
	[%msg.name%](
		const [%m.type%]& [%m.name%]_[%delim(i, msg.member)%]  %|m,i| msg.member.each_with_index
		) :
		[%m.name%]([%m.name%]_)[%delim(i, msg.member)%]  %|m,i| msg.member.each_with_index
	{ }
	%end

	%# members
	[%m.type%] [%m.name%];  %|m| msg.member.each

	static const int id = [%msg.id%];  %>if msg.id
};

%end
%# vim: syntax=mplex


program sample31p;
var a : integer;
procedure p(a : char);
begin
	writeln('proc of p');
	a := 'a'
end;
var b : char;
procedure q(b:integer);
  var a : boolean;
      q : integer;
begin
	writeln('proc of q');
	readln(q);
	a := b = q;
	if a then writeln('true') else writeln('false')
end;
var c : integer;
begin
	a := 1;		b := 'b';
	call p(b);
	call q(a);call q(2*a+1)
end.


$ifndef _LOGOUT_
$define _LOGOUT_

LogLevelHolder:=module()
    option object;
    export logLevel:=1;
end module:

# 设置输出级别
setLogLevel:=proc(v::{0,1,2,3})
    LogLevelHolder:-logLevel:=v;
    return;
end proc:

flog:=proc()
    local v;
    if type(procname,indexed) then
        v:=op(procname);
    else
        v:=1;
    end if;
    if (v>=LogLevelHolder:-logLevel) then
        print(_passed);
    end if;
    return;
end proc:

flogf:=proc()
    local v;
    if type(procname,indexed) then
        v:=op(procname);
    else
        v:=1;
    end if;
    if (v>=LogLevelHolder:-logLevel) then
        printf(_passed);
        printf("\n");
    end if;
    return;
end proc:

$endif


# https://matplotlib.org/users/customizing.html

#figure.titlesize : small        # size of the figure title (Figure.suptitle())
figure.dpi       : 120          # figure dots per inch

lines.linewidth : 2
lines.markersize : 10

legend.fontsize : 14
legend.handlelength : 1

axes.titlesize : 17
axes.labelsize : 17
axes.grid : False   # display grid or not --> Doesn't work. Just type "g"

xtick.direction : in
ytick.direction : in
xtick.labelsize : 14 # font size of tick labels
ytick.labelsize : 14
xtick.major.size     : 6      # major tick size in points
xtick.minor.size     : 4      # minor tick size in points
ytick.major.size     : 6
ytick.minor.size     : 4
xtick.minor.visible  : True   # turn minor ticks on by default
ytick.minor.visible  : True

# has to be a .ttf file in /Library/Fonts
# font.family      : sans-serif
# font.sans-serif : Helvetica Neue
#font.sans-serif : 'Comic Sans'
#font.style : italic
# font.serif : Optima
# font.family : Helvetica Neue Light
# font.style : light
#font.family : Optima


flavor 1
srclang 3
id 65535
numfuncs 4
import "Arith.mplt"
import "/home/bravewtz/Desktop/openarkcompiler/libjava-core/libjava-core.mplt"
entryfunc &LArith_3B_7Cmain_7C_28ALjava_2Flang_2FString_3B_29V
fileinfo {
  @INFO_filename "Arith.jar"}
srcfileinfo {
  1 "Arith.java"}
javaclass $LArith_3B <$LArith_3B> public
func &LArith_3B_7C_3Cinit_3E_7C_28_29V public constructor (var %_this <* <$LArith_3B>>) void
func &LArith_3B_7Craise__sigfpe_7C_28_29V private static native () void
func &LArith_3B_7CTestMain_7C_28I_29I public static (var %Reg4_I i32) i32
func &LArith_3B_7Cmain_7C_28ALjava_2Flang_2FString_3B_29V public static (var %Reg2_R743 <* <[] <* <$Ljava_2Flang_2FString_3B>>>>) void
var $Ljava_2Flang_2FSystem_3B_7Cout extern <* <$Ljava_2Fio_2FPrintStream_3B>> final public static
var $__cinf_Ljava_2Flang_2FString_3B <$__class_meta__>
func &MCC_GetOrInsertLiteral () <* <$Ljava_2Flang_2FString_3B>>
func &LArith_3B_7C_3Cinit_3E_7C_28_29V public constructor (var %_this <* <$LArith_3B>>) void {
  funcid 48153
  var %Reg1_R43694 <* <$LArith_3B>>
  var %Reg1_R57 <* <$Ljava_2Flang_2FObject_3B>>

  dassign %Reg1_R43694 0 (dread ref %_this)
  #INSTIDX : 0||0000:  aload_0
  #INSTIDX : 1||0001:  invokespecial
  dassign %Reg1_R57 0 (retype ref <* <$Ljava_2Flang_2FObject_3B>> (dread ref %Reg1_R43694))
  callassigned &Ljava_2Flang_2FObject_3B_7C_3Cinit_3E_7C_28_29V (dread ref %Reg1_R57) {}
  #INSTIDX : 4||0004:  return
  return ()
}
func &LArith_3B_7Craise__sigfpe_7C_28_29V private static native () void {
  funcid 48154

}
func &LArith_3B_7CTestMain_7C_28I_29I public static (var %Reg4_I i32) i32 {
  funcid 48155
  var %Reg0_I i32
  var %Reg2_I i32
  var %Reg0_R19929 <* <$Ljava_2Flang_2FArithmeticException_3B>>
  var %Reg0_R510 <* <$Ljava_2Flang_2FThrowable_3B>>
  var %Reg3_R19929 <* <$Ljava_2Flang_2FArithmeticException_3B>>

  intrinsiccallwithtype <$LArith_3B> JAVA_CLINIT_CHECK ()
  #INSTIDX : 0||0000:  iconst_0
  dassign %Reg0_I 0 (constval i32 0)
  #INSTIDX : 1||0001:  istore_1
  dassign %Reg2_I 0 (dread i32 %Reg0_I)
  try { @label2 }
  #INSTIDX : 2||0002:  iinc
  dassign %Reg2_I 0 (add i32 (dread i32 %Reg2_I, constval i32 1))
  #INSTIDX : 5||0005:  iload_0
  #INSTIDX : 6||0006:  ifle
  brtrue @label0 (le i32 i32 (dread i32 %Reg4_I, constval i32 0))
  #INSTIDX : 9||0009:  invokestatic
  intrinsiccallwithtype <$LArith_3B> JAVA_CLINIT_CHECK ()
  callassigned &LArith_3B_7Craise__sigfpe_7C_28_29V () {}
  #INSTIDX : 12||000c:  goto
  goto @label1
@label0   #INSTIDX : 15||000f:  iload_0
  #INSTIDX : 16||0010:  ifne
  brtrue @label1 (ne i32 i32 (dread i32 %Reg4_I, constval i32 0))
  #INSTIDX : 19||0013:  iinc
  dassign %Reg2_I 0 (add i32 (dread i32 %Reg2_I, constval i32 103))
  #INSTIDX : 22||0016:  new
  intrinsiccallwithtype <$Ljava_2Flang_2FArithmeticException_3B> JAVA_CLINIT_CHECK ()
  dassign %Reg0_R19929 0 (gcmalloc ref <$Ljava_2Flang_2FArithmeticException_3B>)
  #INSTIDX : 25||0019:  dup
  #INSTIDX : 26||001a:  invokespecial
  callassigned &Ljava_2Flang_2FArithmeticException_3B_7C_3Cinit_3E_7C_28_29V (dread ref %Reg0_R19929) {}
  #INSTIDX : 29||001d:  athrow
  dassign %Reg0_R510 0 (retype ref <* <$Ljava_2Flang_2FThrowable_3B>> (dread ref %Reg0_R19929))
  throw (dread ref %Reg0_R510)
@label1   #INSTIDX : 30||001e:  iinc
  dassign %Reg2_I 0 (add i32 (dread i32 %Reg2_I, constval i32 3))
  endtry
  dassign %Reg2_I 0 (cvt i32 i32 (dread i32 %Reg2_I))
  #INSTIDX : 33||0021:  goto
  goto @label3
@label2   catch { <* <$Ljava_2Flang_2FArithmeticException_3B>> }
  dassign %Reg0_R19929 0 (regread ptr %%thrownval)
  #INSTIDX : 36||0024:  astore_2
  dassign %Reg3_R19929 0 (dread ref %Reg0_R19929)
  #INSTIDX : 37||0025:  iinc
  dassign %Reg2_I 0 (add i32 (dread i32 %Reg2_I, constval i32 100))
  dassign %Reg2_I 0 (cvt i32 i32 (dread i32 %Reg2_I))
@label3   #INSTIDX : 40||0028:  iload_1
  #INSTIDX : 41||0029:  ireturn
  return (dread i32 %Reg2_I)
}
func &LArith_3B_7Cmain_7C_28ALjava_2Flang_2FString_3B_29V public static (var %Reg2_R743 <* <[] <* <$Ljava_2Flang_2FString_3B>>>>) void {
  funcid 48156
  var %Reg0_R562 <* <$Ljava_2Fio_2FPrintStream_3B>>
  var %Reg1_I i32

  intrinsiccallwithtype <$LArith_3B> JAVA_CLINIT_CHECK ()
  #INSTIDX : 0||0000:  getstatic
  intrinsiccallwithtype <$Ljava_2Flang_2FSystem_3B> JAVA_CLINIT_CHECK ()
  dassign %Reg0_R562 0 (dread ref $Ljava_2Flang_2FSystem_3B_7Cout)
  #INSTIDX : 3||0003:  bipush
  dassign %Reg1_I 0 (constval i32 -5)
  #INSTIDX : 5||0005:  invokestatic
  intrinsiccallwithtype <$LArith_3B> JAVA_CLINIT_CHECK ()
  callassigned &LArith_3B_7CTestMain_7C_28I_29I (dread i32 %Reg1_I) { dassign %Reg1_I 0 }
  #INSTIDX : 8||0008:  invokevirtual
  virtualcallassigned &Ljava_2Fio_2FPrintStream_3B_7Cprintln_7C_28I_29V (dread ref %Reg0_R562, dread i32 %Reg1_I) {}
  #INSTIDX : 11||000b:  getstatic
  intrinsiccallwithtype <$Ljava_2Flang_2FSystem_3B> JAVA_CLINIT_CHECK ()
  dassign %Reg0_R562 0 (dread ref $Ljava_2Flang_2FSystem_3B_7Cout)
  #INSTIDX : 14||000e:  iconst_0
  dassign %Reg1_I 0 (constval i32 0)
  #INSTIDX : 15||000f:  invokestatic
  intrinsiccallwithtype <$LArith_3B> JAVA_CLINIT_CHECK ()
  callassigned &LArith_3B_7CTestMain_7C_28I_29I (dread i32 %Reg1_I) { dassign %Reg1_I 0 }
  #INSTIDX : 18||0012:  invokevirtual
  virtualcallassigned &Ljava_2Fio_2FPrintStream_3B_7Cprintln_7C_28I_29V (dread ref %Reg0_R562, dread i32 %Reg1_I) {}
  #INSTIDX : 21||0015:  return
  return ()
}


program assignchar;	{sample23}
var x,y : char;
begin
x := 'X';y := 'Y'  end.


type $ClassA <class {@e1 i32, @e2 f32, @e3 f64}>
type $ClassB <class {@e1 i32}>

func $foo() void {
  var %Reg1 <* <$ClassB>>
  dassign %Reg1 0 (intrinsicopwithtype ptr <* <$ClassB>> DEX_CONST_CLASS ())
  intrinsiccallwithtype <* <$ClassA>> DEX_CHECK_CAST (dread ptr %Reg1 0)
}


use DocumentTools in
if parse(GetProperty("RunSIAN", value)) then

	SetProperty("printSolutions", enabled, true):
	SetProperty("bypass", enabled, true):
	SetProperty("p", enabled, true):
	SetProperty("params", enabled, true):
	SetProperty("replicas", enabled, true):
else
	SetProperty("bypass", enabled, false):
	SetProperty("printSolutions", enabled, false):
	SetProperty("p", enabled, false):
	SetProperty("params", enabled, false):
	SetProperty("replicas", enabled, false):
fi:
end use;


program assignchar;	{sample23}
var x,y : char;;
begin
 x := 'X';
 y := 'Y'
end.


text.usetex : True
text.latex.preamble: \usepackage{bm}
axes.grid : False
figure.figsize : 6, 5.25
figure.dpi  : 150
font.size : 16
xtick.major.width : 1.5
xtick.minor.width : 1.5
ytick.major.width : 1.5
ytick.minor.width : 1.5

figure.subplot.left    : 0.15  # 0.12  # the left side of the subplots of the figure
figure.subplot.right   : 0.85  # 0.88  # the right side of the subplots of the figure
figure.subplot.bottom  : 0.15  # 0.14  # the bottom of the subplots of the figure
figure.subplot.top     : 0.95  # 0.86  # the top of the subplots of the figure


program assigninteger;
var n : integer;
begin
    n := 1
end.


repeat process ACV_lasers {
/tp @e[type=armor_stand,name=ACV_Cube] ~ ~ ~ ~ 0

/scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser] remove ACV_InCube
/scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser] remove ACV_EnteringCube
/scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser] remove ACV_InAir
/execute @e[type=area_effect_cloud,name=ACV_Laser] ~ ~ ~ particle reddust ~ ~ ~ 0.1 0.1 0.1 0 10 force
/execute @e[type=armor_stand,name=ACV_Cube,tag=ACV_Redirecting] ~ ~2 ~ scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,dy=0] add ACV_InCube
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=169,ry=-168,rxm=0,rx=0] ~0 ~ ~-0.5
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=-167,ry=-146,rxm=0,rx=0] ~0.1913417161825448858642299920152 ~ ~-0.46193976625564337806409159469839
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=-145,ry=-123,rxm=0,rx=0] ~0.35355339059327376220042218105242 ~ ~-0.35355339059327376220042218105242
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=-122,ry=-101,rxm=0,rx=0] ~0.46193976625564337806409159469839 ~ ~-0.1913417161825448858642299920152
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=-100,ry=-78,rxm=0,rx=0] ~0.5 ~ ~0
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=-77,ry=-56,rxm=0,rx=0] ~0.46193976625564337806409159469839 ~ ~0.1913417161825448858642299920152
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=-55,ry=-33,rxm=0,rx=0] ~0.35355339059327376220042218105242 ~ ~0.35355339059327376220042218105242
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=-32,ry=-11,rxm=0,rx=0] ~0.1913417161825448858642299920152 ~ ~0.46193976625564337806409159469839
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=-10,ry=11,rxm=0,rx=0] ~0 ~ ~0.5
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=12,ry=33,rxm=0,rx=0] ~-0.1913417161825448858642299920152 ~ ~0.46193976625564337806409159469839
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=34,ry=56,rxm=0,rx=0] ~-0.35355339059327376220042218105242 ~ ~0.35355339059327376220042218105242
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=57,ry=78,rxm=0,rx=0] ~-0.46193976625564337806409159469839 ~ ~0.1913417161825448858642299920152
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=79,ry=101,rxm=0,rx=0] ~-0.5 ~ ~0
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=102,ry=123,rxm=0,rx=0] ~-0.46193976625564337806409159469839 ~ ~-0.1913417161825448858642299920152
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=124,ry=146,rxm=0,rx=0] ~-0.35355339059327376220042218105242 ~ ~-0.35355339059327376220042218105242
/tp @e[type=area_effect_cloud,name=ACV_Laser,rym=147,ry=168,rxm=0,rx=0] ~-0.1913417161825448858642299920152 ~ ~-0.46193976625564337806409159469839
/tp @e[type=area_effect_cloud,name=ACV_Laser,rxm=1,rx=90] ~ ~-0.5 ~
/tp @e[type=area_effect_cloud,name=ACV_Laser,rxm=-90,rx=-1] ~ ~0.5 ~
/execute @e[type=armor_stand,name=ACV_Cube,tag=!ACV_Redirecting] ~ ~1.5 ~ kill @e[type=area_effect_cloud,name=ACV_Laser,dy=0]
/execute @e[type=armor_stand,name=ACV_Cube,tag=ACV_Redirecting] ~ ~1.5 ~ scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,tag=!ACV_InCube,dy=0] add ACV_EnteringCube
/execute @e[type=armor_stand,name=ACV_Cube,tag=ACV_Redirecting] ~ ~1.5 ~ tp @e[type=area_effect_cloud,name=ACV_Laser,tag=ACV_EnteringCube,dy=0] @e[type=armor_stand,name=ACV_Cube,r=2,c=1]
/execute @e[type=armor_stand,name=ACV_Cube,tag=ACV_Redirecting] ~ ~ ~ tp @e[type=area_effect_cloud,name=ACV_Laser,tag=ACV_EnteringCube,dy=0] ~ ~1.7 ~

/execute @e[type=area_effect_cloud,name=ACV_Laser] ~ ~ ~ detect ~ ~ ~ air -1 scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,r=1,c=1] add ACV_InAir
/execute @e[type=area_effect_cloud,name=ACV_Laser] ~ ~ ~ detect ~ ~ ~ piston_extension -1 scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,r=1,c=1] add ACV_InAir
/execute @e[type=area_effect_cloud,name=ACV_Laser] ~ ~ ~ detect ~ ~ ~ carpet -1 scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,r=1,c=1] add ACV_InAir
/execute @e[type=area_effect_cloud,name=ACV_Laser] ~ ~ ~ detect ~ ~ ~ glass -1 scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,r=1,c=1] add ACV_InAir
/execute @e[type=area_effect_cloud,name=ACV_Laser] ~ ~ ~ detect ~ ~ ~ stained_glass -1 scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,r=1,c=1] add ACV_InAir
/execute @e[type=area_effect_cloud,name=ACV_Laser] ~ ~ ~ detect ~ ~ ~ glass_pane -1 scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,r=1,c=1] add ACV_InAir
/execute @e[type=area_effect_cloud,name=ACV_Laser] ~ ~ ~ detect ~ ~ ~ stained_glass_pane -1 scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,r=1,c=1] add ACV_InAir
/execute @e[type=area_effect_cloud,name=ACV_Laser] ~ ~ ~ detect ~ ~ ~ iron_bars -1 scoreboard players tag @e[type=area_effect_cloud,name=ACV_Laser,r=1,c=1] add ACV_InAir

/kill @e[type=area_effect_cloud,name=ACV_Laser,tag=!ACV_InAir]
}


//impulse: /give @p spawn_egg 1 0 {display:{Name:"Cube Spawner"},EntityTag:{id:"minecraft:chicken",CustomName:"MMH_CubeSpawner",Silent:1,NoGravity:1}}
//MMH_loadChunks()
///clone ~1 ~1 ~1 ~3 ~4 ~3 16 1 20

#MMH
repeat process MMH_weightedStorageCubeSpawner {
if: /testfor @e[type=Chicken,name=MMH_CubeSpawner]
then {
  MMH_loadChunks()
  /execute @e[type=Chicken,name=MMH_CubeSpawner] ~ ~ ~ clone 16 1 20 18 4 22 ~-1 ~ ~-1 masked
  /execute @e[type=Chicken,name=MMH_CubeSpawner] ~ ~ ~ fill ~ ~ ~ ~ ~ ~ air 0 replace pumpkin
  /tp @e[type=Chicken,name=MMH_CubeSpawner] ~ -100 ~
}
}

//repeat: /testfor @e[type=armor_stand,name=ACV_Cube,tag=1]
///blockdata ${-1} {SuccessCount:1}
//conditional: /summon armor_stand ~1 ~-2 ~-1 {CustomName:"ACV_Cube",DisabledSlots:2035728,ArmorItems:[{},{},{},{Count:1,Damage:6,id:"stone"}],NoGravity:1b,Invisible:1b,Invulnerable:1b,Tags:["1"]}


// Creates a Lightbridge at the corresponding ACV_PortalOut of every area effect cloud named ACV_PortalIn with tag ACV_createLightBridges_PARAM that is in the same block of a ACV_LightBridgeEnd.
// This is achieved by summoning an ACV_LightBridge_Idle at ACV_PortalIn wich will get teleported to ACV_PortalOut in the next tick.
// The ACV_LightBridge_Idle will then be transformed to an ACV_LightBridge.
// Params: area_effect_cloud named ACV_PortalIn tagged with ACV_createLightBridges_PARAM
// Return: area_effect_cloud named ACV_LightBridge_Idle
impulse process ACV_createLightBridges {
if: /testfor @e[type=area_effect_cloud,name=ACV_PortalIn,score_ACV_COLOR_min=0,score_ACV_COLOR=0]
then { // only create light- and anti-bridge if the connection is open
  if: /testfor @e[type=area_effect_cloud,name=ACV_PortalIn,score_ACV_COLOR_min=1,score_ACV_COLOR=1]
  then {
    /execute @e[type=area_effect_cloud,name=ACV_PortalIn,tag=ACV_createLightBridges_PARAM,score_ACV_COLOR_min=0,score_ACV_COLOR=1] ~ ~ ~ execute @e[type=area_effect_cloud,name=ACV_LightBridgeEnd,tag=!ACV_BlueOrange,dy=0] ~ ~ ~ summon area_effect_cloud ~ ~ ~ {CustomName:"ACV_LightBridge_Idle",Tags:[ACV_RotationProof,ACV_BlueOrange],Duration:2147483647}
    /execute @e[type=area_effect_cloud,name=ACV_PortalIn,tag=ACV_createLightBridges_PARAM,score_ACV_COLOR_min=0,score_ACV_COLOR=1] ~ ~ ~ execute @e[type=area_effect_cloud,name=ACV_LightBridgeEnd,tag=!ACV_BlueOrange,dy=0] ~ ~ ~ summon area_effect_cloud ~ ~ ~ {CustomName:"ACV_AntiBridge_Idle",Tags:[ACV_RotationProof],Duration:2147483647}
  }
}

if: /testfor @e[type=area_effect_cloud,name=ACV_PortalIn,score_ACV_COLOR_min=2,score_ACV_COLOR=2]
then { // only create light- and anti-bridge if the connection is open
  if: /testfor @e[type=area_effect_cloud,name=ACV_PortalIn,score_ACV_COLOR_min=3,score_ACV_COLOR=3]
  then {
    /execute @e[type=area_effect_cloud,name=ACV_PortalIn,tag=ACV_createLightBridges_PARAM,score_ACV_COLOR_min=2,score_ACV_COLOR=3] ~ ~ ~ execute @e[type=area_effect_cloud,name=ACV_LightBridgeEnd,tag=!ACV_PurpleRed,dy=0] ~ ~ ~ summon area_effect_cloud ~ ~ ~ {CustomName:"ACV_LightBridge_Idle",Tags:[ACV_RotationProof,ACV_PurpleRed],Duration:2147483647}
    /execute @e[type=area_effect_cloud,name=ACV_PortalIn,tag=ACV_createLightBridges_PARAM,score_ACV_COLOR_min=2,score_ACV_COLOR=3] ~ ~ ~ execute @e[type=area_effect_cloud,name=ACV_LightBridgeEnd,tag=!ACV_PurpleRed,dy=0] ~ ~ ~ summon area_effect_cloud ~ ~ ~ {CustomName:"ACV_AntiBridge_Idle",Tags:[ACV_RotationProof],Duration:2147483647}
  }
}

/execute @e[type=area_effect_cloud,name=ACV_LightBridgeEnd,tag=ACV_BlueOrange] ~ ~ ~ scoreboard players tag @e[type=area_effect_cloud,name=ACV_LightBridge_Idle,dy=0] add ACV_BlueOrange
/execute @e[type=area_effect_cloud,name=ACV_LightBridgeEnd,tag=ACV_PurpleRed] ~ ~ ~ scoreboard players tag @e[type=area_effect_cloud,name=ACV_LightBridge_Idle,dy=0] add ACV_PurpleRed

/scoreboard players tag @e remove ACV_createLightBridges_PARAM
start ACV_lightBridges
}


%def genstub
%self.each do |msg|
%next unless msg.id
void svr_[%msg.name%]([%msg.name%] param, ccf::session_responder response,
		ccf::shared_session from, ccf::auto_zone& z);

%end

void dispatch(ccf::shared_session from,
		ccf::method_t method, ccf::msgobj param,
		ccf::session_responder response, ccf::auto_zone& z)
{
	switch(method) {
	%self.each do |msg|
	%next unless msg.id
	case [%msg.name%]::method:
		svr_[%msg.name%](param.as<[%msg.name%]>(), response, from, z);
		break;
	%end
	default:
		throw std::runtime_error("unknown method");  // FIXME
	}
}
%end  # genstub
%# vim: syntax=mplex


//impulse: /give @p spawn_egg 1 0 {display:{Name:"Laser Spawner"},EntityTag:{id:"minecraft:chicken",CustomName:"MMH_LaserSpawner",Silent:1,NoGravity:1}}
//MMH_loadChunks()
///clone ~1 ~1 ~1 ~2 ~8 ~2 24 1 16

#MMH
repeat process MMH_laserSpawner {
if: /testfor @e[type=Chicken,name=MMH_LaserSpawner]
then {
  MMH_loadChunks()
  /execute @e[type=Chicken,name=MMH_LaserSpawner] ~ ~ ~ scoreboard players operation Rotation MMH_Rotation = @p MMH_Rotation
  /scoreboard players test Rotation MMH_Rotation 0 0
  conditional: /execute @e[type=Chicken,name=MMH_LaserSpawner] ~ ~ ~ clone 24 1 16 25 2 17 ~-3 ~-1 ~-1 masked
  /scoreboard players test Rotation MMH_Rotation 1 1
  conditional: /execute @e[type=Chicken,name=MMH_LaserSpawner] ~ ~ ~ clone 24 3 16 25 4 17 ~ ~-1 ~-3 masked
  /scoreboard players test Rotation MMH_Rotation 2 2
  conditional: /execute @e[type=Chicken,name=MMH_LaserSpawner] ~ ~ ~ clone 24 5 16 25 6 17 ~2 ~-1 ~ masked
  /scoreboard players test Rotation MMH_Rotation 3 3
  conditional: /execute @e[type=Chicken,name=MMH_LaserSpawner] ~ ~ ~ clone 24 7 16 25 8 17 ~-1 ~-1 ~2 masked
  /tp @e[type=Chicken,name=MMH_LaserSpawner] ~ -100 ~
}
}

//impulse: /summon area_effect_cloud ~3 ~1 ~1 {CustomName:"ACV_Laser",Rotation:[-90.0f,0.0f],Duration:2147483647}
//impulse: /summon area_effect_cloud ~-1 ~1 ~3 {CustomName:"ACV_Laser",Rotation:[0.0f,0.0f],Duration:2147483647}
//impulse: /summon area_effect_cloud ~-3 ~1 ~-1 {CustomName:"ACV_Laser",Rotation:[90.0f,0.0f],Duration:2147483647}
//impulse: /summon area_effect_cloud ~1 ~1 ~-3 {CustomName:"ACV_Laser",Rotation:[180.0f,0.0f],Duration:2147483647}