[pro] Add*FontResource() took 0 ms
[trc] RootForm::initRootForm: graph_form.graph=<null#0x600001f9d240>
[dbg] HAL::openView: s=(1600; 1200) z=0 bFS=0 bResize=0
[dbg] tksdl::HAL::openView: SDL_InitSubSystem(SDL_INIT_VIDEO)
[dbg] tksdl::HAL::openView: SDL_InitSubSystem(SDL_INIT_VIDEO) ..DONE
[dbg] tksdl::HAL::openView: SDL_SetVideoMode(1600, 1200, 32, 0x00000022)
[dbg] tksdl::HAL::openView: SDL_CreateWindow -> sdl_window=0x60000208d3b0
[dbg] tksdl::HAL::openView: SDL_GL_CreateContext -> sdl_glcontext=0x600003cacfa0
[dbg] tksdl::HAL::viewOpened<macos>: syswminfo.info.cocoa.window=5274789392
[dbg] tkopengl_hook_open_cbk() called.
[trc] call SDL_GL_SetSwapInterval(1)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1209c0080((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093ceb0(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093ceb0(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093ceb0(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093ceb0(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1209c0040((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093ce60(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093ce10(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093ce60(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093ce10(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093ce60(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093ce10(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093ce60(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093ce10(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093ce60(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093ce10(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093ce60(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093ce10(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093ce60(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ce10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093ce60(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093ce10(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093ce60(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093ce10(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093ce60(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093ce10(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093ce60(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093ce10(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ce60(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093ce10(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093ce60(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093ce10(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093ce60(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093ce10(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ce60(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093ce10(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093ce60(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ce10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093ce60(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cd20(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093cd20(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1209bff00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093ce60(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cd20(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093cd20(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1209bff00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093ce60(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1209bff00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cd20(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093cd20(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1209bff00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093ce60(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1209bff00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1209c0040((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093cf00([<@0x1209c0080>, <@0x1209c0040>])> num=2
xxx       restore tokens=<StringArray#0x12093ceb0(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cd20(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093cd20(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x12093ceb0(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1209bff00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cd20(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x12093cd20(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1209bff00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093ceb0(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093cc08(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093ceb0(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093cc08(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093ceb0(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x120990000((null))> id=m gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093cc08(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x120990000((null))> id=m gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093ceb0(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x120990000((null))> id=m gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093cc08(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x120990000((null))> id=m gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093ceb0(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x120990000((null))> id=m gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093cc08(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093ceb0(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x120990000((null))> id=m gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093cc08(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x120990000((null))> id=m gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093ceb0(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x120990000((null))> id=m gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093cc08(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ceb0(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093ceb0(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb40(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x12093cb40(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x12093caf0(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aff40((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='left,expandy' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='left,expandy' nTok='s' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='s' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='48,144' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='48,144' nTok='pad_h' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cac8(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [align=centerx,expandy]" tokens=<StringArray#0x12093cac8(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aff00((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='centerx,expandy' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='centerx,expandy' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [align=expandx,top]" tokens=<StringArray#0x12093caf0(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503afec0((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,top' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,top' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cac8(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [align=expandx,bottom]" tokens=<StringArray#0x12093cac8(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aff80((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,bottom' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,bottom' nTok=']' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  a<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["a", "<", ">", "b"])>
xxx parse line "  a<>b" tokens=<StringArray#0x12093caf0(["a", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<a>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  c<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cac8(["c", "<", ">", "b"])>
xxx parse line "  c<>b" tokens=<StringArray#0x12093cac8(["c", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='c' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='<' prev_node=<null> prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  d<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["d", "<", ">", "b"])>
xxx parse line "  d<>b" tokens=<StringArray#0x12093caf0(["d", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='d' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='<' prev_node=<null> prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cac8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093cac8(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1209bff00((null))> graph=<class<Graph>#0x120990000((null))> graph.parent_graph=<class<Graph>#0x1209bff00((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="d"
xxx layoutFixedPlaceRowNodes: aRow=["a", " ", "b", " ", "c"]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;64)=a
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(66;64)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(68;64)=c
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "d"]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(68;65)=d
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093ccf8(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005d7d0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9b0(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093c9b0(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093ccf8(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9b0(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093c9b0(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093ccf8(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=l gr_attribs=<HashTable#0x13005d7d0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9b0(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x12093c9b0(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=l gr_attribs=<HashTable#0x13005d7d0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093ccf8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=l gr_attribs=<HashTable#0x13005d7d0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9b0(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093c9b0(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=l gr_attribs=<HashTable#0x13005d7d0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093ccf8(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=l gr_attribs=<HashTable#0x13005d7d0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9b0(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093c9b0(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=l gr_attribs=<HashTable#0x13005d7d0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093ccf8(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=l gr_attribs=<HashTable#0x13005d7d0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9b0(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093c9b0(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c8c0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x12093c8c0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503afe80((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9b0(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x12093c9b0(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503afa40((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c8c0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x12093c8c0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503afa00((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9b0(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x12093c9b0(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503af9c0((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c8c0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c8c0(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1209bff00((null))> graph=<class<Graph>#0x1503afd80((null))> graph.parent_graph=<class<Graph>#0x1209bff00((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caa0(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x12093caa0(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c8c0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x12093c8c0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c848(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093c848(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c7f8(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x12093c7f8(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c7a8(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x12093c7a8(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c708(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093c708(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c6b8(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093c6b8(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x12093c640(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x12093c5c8(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c578(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093c578(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093c528(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x12093c4b0(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x12093c488(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093c438(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x12093c488(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093c438(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093c488(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi     align=left,expandy w=48 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi     align=left,expandy w=48 pad=0] ports {" tokens=<StringArray#0x12093c438(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b00c0((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x12093c488(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x12093c438(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x12093c488(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c438(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005d470(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x12093c488(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503af940((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x12093c438(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b0100((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x12093c488(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b0180((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x12093c438(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b01c0((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x12093c488(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b0200((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x12093c438(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b0140((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x12093c488(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b0240((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x12093c438(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b02c0((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x12093c488(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b0280((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x12093c438(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b0300((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x12093c488(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503afd80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093ccf8([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503afd80((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093ccf8([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x12093c438(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x12093c488(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x12093c438(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x12093c488(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x12093c438(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c488(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005d770(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [             align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [             align=left,centery pad_r=60]" tokens=<StringArray#0x12093c438(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='align' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='left,centery' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='left,centery' nTok='pad_r' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad_r' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='60' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='60' nTok=']' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x12093c488(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b0080((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x12093c438(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b0040((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x12093c488(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503af980((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x1209bff00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "raster", "raster", "raster", "raster", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x12093c438(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093c488(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093c438(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsunit  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["zssched", "-", ">", "zsunit", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zsunit  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x12093c488(["zssched", "-", ">", "zsunit", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x12093c438(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x12093c488(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x12093c438(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x12093c488(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093c438(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x12093c488(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x12093c438(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x12093c488(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x12093c438(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x12093c488(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x12093c438(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c488(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x12093c488(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093c438(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c410(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x12093c410(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x12093c438(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c410(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x12093c410(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093c438(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x1209c0080((null))> line_idx=131 parse_context_stack=<PointerArray#0x12093cf00([<@0x1209c0080>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 60 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["m", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="m"
[trc] setCell(64;64)=m
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:m>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zsunit>(6,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.m.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .v.               |
|                  .v.               |
|...      ...      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[+++] graph_form.processGRFile("gr/test38d.gr") succeeded
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x1503b50c0((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:m>(0,0) subgraph.id=m
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:m>(0,0) gw=<class<GraphForm>#0x1503b78c0((null))>
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 2 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[dbg] HAL::timerthread: threadId=0x16bb83000
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1438;1052)
[dbg] ui::Shader::createFromStrings: gl_ver=(2;1)
[dbg] ui::Shader_PatternFill::create: OK.
[...] ===================================================== GraphForm::processGRFile("gr/test38c.gr")
xxx Graph::buildPathname: newPathname="gr/test38c.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38c.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503afd80((null))> name="gr/test38c.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel debug 2"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=44
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093ce60(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093ce60(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093ce60(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093ce60(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093c438(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093ced8(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093c438(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093ced8(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093c438(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093ced8(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093c438(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093ced8(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093c438(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093ced8(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093c438(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093ced8(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093c438(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ced8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093c438(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093ced8(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093c438(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093ced8(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093c438(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093ced8(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093c438(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093ced8(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c438(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093ced8(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093c438(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093ced8(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c438(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093ced8(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c438(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093ced8(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093c438(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ced8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ced8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093c438(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c9d8(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0000((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093c438(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c9d8(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0000((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093c438(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0000((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c9d8(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0000((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093c438(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0000((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093a0e8([<@0x1503afd80>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093ce60(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=44
xxx GRParseContext: beginLine: cur_line=" row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["row_padding", "=", "0"])>
xxx parse line " row_padding=0" tokens=<StringArray#0x12093c9d8(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0000((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=44
xxx GRParseContext: beginLine: cur_line=" col_padding=8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["col_padding", "=", "8"])>
xxx parse line " col_padding=8" tokens=<StringArray#0x12093ce60(["col_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0000((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=44
xxx GRParseContext: beginLine: cur_line="ipad=12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["ipad", "=", "12"])>
xxx parse line "ipad=12" tokens=<StringArray#0x12093c9d8(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0000((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=44
xxx GRParseContext: beginLine: cur_line="flatten=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["flatten", "=", "0"])>
xxx parse line "flatten=0" tokens=<StringArray#0x12093ce60(["flatten", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='flatten' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0000((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "flatten"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=44
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093c9d8(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005d740(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="8", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=44
xxx GRParseContext: beginLine: cur_line="  layout=fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c938(["layout", "=", "fixed"])>
xxx parse line "  layout=fixed" tokens=<StringArray#0x12093c938(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=44
xxx GRParseContext: beginLine: cur_line="  zero_margin = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin = true" tokens=<StringArray#0x12093c9d8(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=44
xxx GRParseContext: beginLine: cur_line="  unfold = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c938(["unfold", "=", "false"])>
xxx parse line "  unfold = false" tokens=<StringArray#0x12093c938(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=44
xxx GRParseContext: beginLine: cur_line="  row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["row_padding", "=", "0"])>
xxx parse line "  row_padding=0" tokens=<StringArray#0x12093c9d8(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7b00((null))> id=l gr_attribs=<HashTable#0x13005d740(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="8", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=44
xxx GRParseContext: beginLine: cur_line="  col_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c938(["col_padding", "=", "0"])>
xxx parse line "  col_padding=0" tokens=<StringArray#0x12093c938(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7b00((null))> id=l gr_attribs=<HashTable#0x13005d740(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=44
xxx GRParseContext: beginLine: cur_line="  border_width=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["border_width", "=", "0"])>
xxx parse line "  border_width=0" tokens=<StringArray#0x12093c9d8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7b00((null))> id=l gr_attribs=<HashTable#0x13005d740(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=44
xxx GRParseContext: beginLine: cur_line="  pad = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c938(["pad", "=", "0"])>
xxx parse line "  pad = 0" tokens=<StringArray#0x12093c938(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7b00((null))> id=l gr_attribs=<HashTable#0x13005d740(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=44
xxx GRParseContext: beginLine: cur_line="  bgcolor=#f00"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["bgcolor", "=", "#f00"])>
xxx parse line "  bgcolor=#f00" tokens=<StringArray#0x12093c9d8(["bgcolor", "=", "#f00"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f00' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f00' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7b00((null))> id=l gr_attribs=<HashTable#0x13005d740(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00ff0000", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=44
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c938(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093c938(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=44
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [font=small]  // sgx=shcore"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc30(["S", "Shader Core 0", "[", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [font=small]  " tokens=<StringArray#0x12093cc30(["S", "Shader Core 0", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503b03c0((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=44
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c938(["T", "Shader Core 1", "[", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [font=small]" tokens=<StringArray#0x12093c938(["T", "Shader Core 1", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6180((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=44
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc30(["U", "Shader Core 2", "[", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [font=small]" tokens=<StringArray#0x12093cc30(["U", "Shader Core 2", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b61c0((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=44
xxx GRParseContext: beginLine: cur_line="  V "..."           [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c938(["V", "...", "[", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [font=small]" tokens=<StringArray#0x12093c938(["V", "...", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6200((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=44
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc30(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093cc30(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503b0000((null))> graph=<class<Graph>#0x1503a7b00((null))> graph.parent_graph=<class<Graph>#0x1503b0000((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=44
xxx GRParseContext: beginLine: cur_line="row="eeeeg";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca00(["row", "=", "eeeeg", ";"])>
xxx parse line "row="eeeeg";" tokens=<StringArray#0x12093ca00(["row", "=", "eeeeg", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='eeeeg' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='eeeeg' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="eeeeg"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffffh";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccd0(["row", "=", "ffffh", ";"])>
xxx parse line "row="ffffh";" tokens=<StringArray#0x12093ccd0(["row", "=", "ffffh", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffffh' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffffh' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffffh"
xxx addLayoutRow: add implicit node 'f'
xxx addLayoutRow: add implicit node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb90(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093cb90(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cbb8(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093cbb8(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=44
xxx GRParseContext: beginLine: cur_line="row="llll ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["row", "=", "llll ", ";"])>
xxx parse line "row="llll ";" tokens=<StringArray#0x12093caf0(["row", "=", "llll ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='llll ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='llll ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="llll "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=44
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093cc08(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=44
xxx GRParseContext: beginLine: cur_line="e "Address Encoder" [pad=0 align=center]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["e", "Address Encoder", "[", "pad", "=", "0", "align", "=", "center", "]"])>
xxx parse line "e "Address Encoder" [pad=0 align=center]" tokens=<StringArray#0x12093caf0(["e", "Address Encoder", "[", "pad", "=", "0", "align", "=", "center", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a7a40((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='align' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='center' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='center' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=44
xxx GRParseContext: beginLine: cur_line="f "Dispatcher" [h=75% pad=0 align=right]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parse line "f "Dispatcher" [h=75% pad=0 align=right]" tokens=<StringArray#0x12093cc08(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a7a80((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='75%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='75%' nTok='pad' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok='align' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='align' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='right' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='right' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=44
xxx GRParseContext: beginLine: cur_line="g "Fast Clear" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parse line "g "Fast Clear" [pad=0]" tokens=<StringArray#0x12093caf0(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a7a00((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<g>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=44
xxx GRParseContext: beginLine: cur_line="h [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["h", "[", "pad", "=", "0", "]"])>
xxx parse line "h [pad=0]" tokens=<StringArray#0x12093cc08(["h", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=44
xxx GRParseContext: beginLine: cur_line="l [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["l", "[", "pad", "=", "0", "]"])>
xxx parse line "l [pad=0]" tokens=<StringArray#0x12093caf0(["l", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=44
xxx GRParseContext: beginLine: cur_line="e->f "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cc08(["e", "-", ">", "f", "Stamp"])>
xxx parse line "e->f "Stamp"" tokens=<StringArray#0x12093cc08(["e", "-", ">", "f", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Stamp' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=44
xxx GRParseContext: beginLine: cur_line="e->g"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["e", "-", ">", "g"])>
xxx parse line "e->g" tokens=<StringArray#0x12093caf0(["e", "-", ">", "g"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='e' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=44
xxx popParseContext cur=<class<GRParseContext>#0x1503afd80((null))> line_idx=44 parse_context_stack=<PointerArray#0x12093a0e8([<@0x1503afd80>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 31 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=5 gridH=5
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell="l"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell="l" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["e", "", "", "", "g"]
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(64;64)=e
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(68;64)=g
xxx layoutFixedPlaceRowNodes: aRow=["f", "", "", "", "h"]
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(64;65)=f
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(68;65)=h
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["l", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: sId="l"
[trc] setCell(64;68)=l
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;68) sz=(5x5)
[trc] debugPrintNodes: n[0] = <graph:l>(0,4) label="l" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[1] = <e>(0,0) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <g>(4,0) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[3] = <f>(0,1) label="Dispatcher" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="right", "shape_round_amount"="20%", "pad"="0", "h"="75%"]
[trc] debugPrintNodes: n[4] = <h>(4,1) label="h" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintEdges: e[0] = edge<tail<e>(0,0) head<f>(0,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<e>(0,0) head<g>(4,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<e>(0,0) => head<f>(0,1) style=normal
[trc] draw edge: tail<<e>(0,0) => head<g>(4,0) style=normal
main[5x5]=
 _______________ 
|...         ...|
|.e>>>>>>>>>>>g.|
|.v.         ...|
|.v.         ...|
|.f.         .h.|
|...         ...|
|               |
|               |
|               |
|               |
|               |
|               |
|...            |
|.l.            |
|...            |
 --------------- 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:l>(0,4) subgraph.id=l
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:l>(0,4) gw=<class<GraphForm>#0x1503b8c80((null))>
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 1 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;665;149)
[...] ===================================================== GraphForm::processGRFile("gr/test38b.gr")
xxx Graph::buildPathname: newPathname="gr/test38b.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38b.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503b0bc0((null))> name="gr/test38b.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel debug 1"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=27
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093c438(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093c438(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093c438(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093c438(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093caf0(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093cf00(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093caf0(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093cf00(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093caf0(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093cf00(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093caf0(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093cf00(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093caf0(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093cf00(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093caf0(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093cf00(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093caf0(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093cf00(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093caf0(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093cf00(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093caf0(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093cf00(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093caf0(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093cf00(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093caf0(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093cf00(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093caf0(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093cf00(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093caf0(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093cf00(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093caf0(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093cf00(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093caf0(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093cf00(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093caf0(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093cf00(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093caf0(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c910(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c910(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093caf0(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c910(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c910(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093caf0(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c910(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c910(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093caf0(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x120939c60([<@0x1503b0bc0>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093c438(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=27
xxx GRParseContext: beginLine: cur_line=" row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c910(["row_padding", "=", "0"])>
xxx parse line " row_padding=0" tokens=<StringArray#0x12093c910(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=27
xxx GRParseContext: beginLine: cur_line=" col_padding=8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["col_padding", "=", "8"])>
xxx parse line " col_padding=8" tokens=<StringArray#0x12093c438(["col_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=27
xxx GRParseContext: beginLine: cur_line="ipad=12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c910(["ipad", "=", "12"])>
xxx parse line "ipad=12" tokens=<StringArray#0x12093c910(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=27
xxx GRParseContext: beginLine: cur_line="flatten=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["flatten", "=", "0"])>
xxx parse line "flatten=0" tokens=<StringArray#0x12093c438(["flatten", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='flatten' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "flatten"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=27
xxx GRParseContext: beginLine: cur_line="row="eeeeg";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c910(["row", "=", "eeeeg", ";"])>
xxx parse line "row="eeeeg";" tokens=<StringArray#0x12093c910(["row", "=", "eeeeg", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='eeeeg' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='eeeeg' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="eeeeg"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=27
xxx GRParseContext: beginLine: cur_line="row="ffffh";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "ffffh", ";"])>
xxx parse line "row="ffffh";" tokens=<StringArray#0x12093ca28(["row", "=", "ffffh", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffffh' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffffh' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffffh"
xxx addLayoutRow: add implicit node 'f'
xxx addLayoutRow: add implicit node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=27
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093ccf8(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=27
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9b0(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093c9b0(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=27
xxx GRParseContext: beginLine: cur_line="row="     ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c938(["row", "=", "     ", ";"])>
xxx parse line "row="     ";" tokens=<StringArray#0x12093c938(["row", "=", "     ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='     ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='     ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="     "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=27
xxx GRParseContext: beginLine: cur_line="row="llll ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["row", "=", "llll ", ";"])>
xxx parse line "row="llll ";" tokens=<StringArray#0x12093c9d8(["row", "=", "llll ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='llll ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='llll ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="llll "
xxx addLayoutRow: add implicit node 'l'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=27
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093ce60(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=27
xxx GRParseContext: beginLine: cur_line="e "Address Encoder" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["e", "Address Encoder", "[", "pad", "=", "0", "]"])>
xxx parse line "e "Address Encoder" [pad=0]" tokens=<StringArray#0x12093c9d8(["e", "Address Encoder", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a7940((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=27
xxx GRParseContext: beginLine: cur_line="f "Dispatcher" [h=75% pad=0 align=right]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parse line "f "Dispatcher" [h=75% pad=0 align=right]" tokens=<StringArray#0x12093ce60(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abb00((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='75%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='75%' nTok='pad' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok='align' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='align' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='right' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='right' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=27
xxx GRParseContext: beginLine: cur_line="g "Fast Clear" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parse line "g "Fast Clear" [pad=0]" tokens=<StringArray#0x12093c9d8(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abac0((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<g>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=27
xxx GRParseContext: beginLine: cur_line="h [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["h", "[", "pad", "=", "0", "]"])>
xxx parse line "h [pad=0]" tokens=<StringArray#0x12093ce60(["h", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=27
xxx GRParseContext: beginLine: cur_line="l [pad=0 w=312]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["l", "[", "pad", "=", "0", "w", "=", "312", "]"])>
xxx parse line "l [pad=0 w=312]" tokens=<StringArray#0x12093c9d8(["l", "[", "pad", "=", "0", "w", "=", "312", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='312' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='312' nTok=']' prev_node=<l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="312"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<l>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=27
xxx GRParseContext: beginLine: cur_line="e->f "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["e", "-", ">", "f", "Stamp"])>
xxx parse line "e->f "Stamp"" tokens=<StringArray#0x12093ce60(["e", "-", ">", "f", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Stamp' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=27
xxx GRParseContext: beginLine: cur_line="e->g"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["e", "-", ">", "g"])>
xxx parse line "e->g" tokens=<StringArray#0x12093c9d8(["e", "-", ">", "g"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='e' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=27
xxx popParseContext cur=<class<GRParseContext>#0x1503b0bc0((null))> line_idx=27 parse_context_stack=<PointerArray#0x120939c60([<@0x1503b0bc0>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 23 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=5 gridH=6
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell="l"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell="l" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["e", "", "", "", "g"]
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(64;64)=e
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(68;64)=g
xxx layoutFixedPlaceRowNodes: aRow=["f", "", "", "", "h"]
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(64;65)=f
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(68;65)=h
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=[" ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: aRow=["l", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: sId="l"
[trc] setCell(64;69)=l
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;69) sz=(5x6)
[trc] debugPrintNodes: n[0] = <e>(0,0) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[1] = <g>(4,0) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <f>(0,1) label="Dispatcher" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="right", "shape_round_amount"="20%", "pad"="0", "h"="75%"]
[trc] debugPrintNodes: n[3] = <h>(4,1) label="h" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[4] = <l>(0,5) label="l" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="312", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintEdges: e[0] = edge<tail<e>(0,0) head<f>(0,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<e>(0,0) head<g>(4,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<e>(0,0) => head<f>(0,1) style=normal
[trc] draw edge: tail<<e>(0,0) => head<g>(4,0) style=normal
main[5x6]=
 _______________ 
|...         ...|
|.e>>>>>>>>>>>g.|
|.v.         ...|
|.v.         ...|
|.f.         .h.|
|...         ...|
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|...            |
|.l.            |
|...            |
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;773;156)
[...] ===================================================== GraphForm::processGRFile("gr/test38.gr")
xxx Graph::buildPathname: newPathname="gr/test38.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503b8ec0((null))> name="gr/test38.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=137
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093caf0(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093caf0(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093caf0(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093caf0(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093c9d8(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093a0e8(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093c9d8(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093a0e8(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093c9d8(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093a0e8(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093c9d8(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093a0e8(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093c9d8(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093a0e8(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093c9d8(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093a0e8(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093c9d8(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a0e8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093c9d8(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093a0e8(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093c9d8(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093a0e8(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093c9d8(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093a0e8(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093c9d8(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093a0e8(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c9d8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093a0e8(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093c9d8(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a0e8(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c9d8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093a0e8(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c9d8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093a0e8(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093c9d8(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a0e8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093c9d8(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a138(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093a138(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093c9d8(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a138(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093a138(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093c9d8(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a138(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093a138(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093c9d8(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093c078([<@0x1503b8ec0>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093caf0(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=137
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a138(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093a138(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=137
xxx GRParseContext: beginLine: cur_line="// row_padding=0"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=137
xxx GRParseContext: beginLine: cur_line="col_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["col_padding", "=", "0"])>
xxx parse line "col_padding=0" tokens=<StringArray#0x12093caf0(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=137
xxx GRParseContext: beginLine: cur_line="ipad=12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a138(["ipad", "=", "12"])>
xxx parse line "ipad=12" tokens=<StringArray#0x12093a138(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503afd80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=137
xxx GRParseContext: beginLine: cur_line="//flatten=0"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=137
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093caf0(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005d620(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=137
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093ce60(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=137
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093caf0(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=137
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093ce60(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=137
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093caf0(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abd00((null))> id=m gr_attribs=<HashTable#0x13005d620(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=137
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093ce60(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abd00((null))> id=m gr_attribs=<HashTable#0x13005d620(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=137
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093caf0(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abd00((null))> id=m gr_attribs=<HashTable#0x13005d620(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=137
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093ce60(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abd00((null))> id=m gr_attribs=<HashTable#0x13005d620(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=137
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093caf0(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abd00((null))> id=m gr_attribs=<HashTable#0x13005d620(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=137
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093ce60(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=137
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093caf0(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abd00((null))> id=m gr_attribs=<HashTable#0x13005d620(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=137
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093ce60(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abd00((null))> id=m gr_attribs=<HashTable#0x13005d620(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=137
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093caf0(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abd00((null))> id=m gr_attribs=<HashTable#0x13005d620(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=137
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093ce60(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=137
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caf0(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093caf0(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=137
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x12093ca28(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=137
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [align=left,expandy s=48,144 pad_h=0 pad_l=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c8e8(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "pad_l", "=", "15", "]"])>
xxx parse line "  a "SBI"         [align=left,expandy s=48,144 pad_h=0 pad_l=15]" tokens=<StringArray#0x12093c8e8(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "pad_l", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aba80((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='left,expandy' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='left,expandy' nTok='s' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='s' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='48,144' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='48,144' nTok='pad_h' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='pad_l' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_l' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='15' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='15' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_l" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=137
xxx GRParseContext: beginLine: cur_line="  b "Register"    [align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [align=centerx,expandy]" tokens=<StringArray#0x12093ca28(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b23c0((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='centerx,expandy' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='centerx,expandy' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=137
xxx GRParseContext: beginLine: cur_line="  c "Control"     [align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c8e8(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [align=expandx,top]" tokens=<StringArray#0x12093c8e8(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2400((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,top' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,top' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=137
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [align=expandx,bottom]" tokens=<StringArray#0x12093ca28(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2380((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,bottom' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,bottom' nTok=']' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=137
xxx GRParseContext: beginLine: cur_line="  a<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c8e8(["a", "<", ">", "b"])>
xxx parse line "  a<>b" tokens=<StringArray#0x12093c8e8(["a", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<a>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=137
xxx GRParseContext: beginLine: cur_line="  c<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["c", "<", ">", "b"])>
xxx parse line "  c<>b" tokens=<StringArray#0x12093ca28(["c", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='c' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='<' prev_node=<null> prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=137
xxx GRParseContext: beginLine: cur_line="  d<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c8e8(["d", "<", ">", "b"])>
xxx parse line "  d<>b" tokens=<StringArray#0x12093c8e8(["d", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='d' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='<' prev_node=<null> prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=137
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ca28(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503afd80((null))> graph=<class<Graph>#0x1503abd00((null))> graph.parent_graph=<class<Graph>#0x1503afd80((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="d"
xxx layoutFixedPlaceRowNodes: aRow=["a", " ", "b", " ", "c"]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;64)=a
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(66;64)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(68;64)=c
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "d"]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(68;65)=d
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="15", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="15", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=137
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093a098(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=137
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x1209395d0(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=137
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093a098(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=137
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x1209395d0(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=137
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093a098(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abc80((null))> id=l gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=137
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x1209395d0(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abc80((null))> id=l gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=137
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a098(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abc80((null))> id=l gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=137
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x1209395d0(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abc80((null))> id=l gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=137
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093a098(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abc80((null))> id=l gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=137
xxx GRParseContext: beginLine: cur_line="  //bgcolor=#f00"
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=137
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x1209395d0(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abc80((null))> id=l gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=137
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a098(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503abc80((null))> id=l gr_attribs=<HashTable#0x13005dad0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=137
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x1209395d0(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=137
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x120939eb8(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2440((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=137
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x1209395d0(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2880((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=137
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x120939eb8(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b28c0((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=137
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x1209395d0(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2900((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=137
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939eb8(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503afd80((null))> graph=<class<Graph>#0x1503abc80((null))> graph.parent_graph=<class<Graph>#0x1503afd80((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=137
xxx GRParseContext: beginLine: cur_line="class=def // can skip"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cf00(["class", "=", "def"])>
xxx parse line "class=def " tokens=<StringArray#0x12093cf00(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=137
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x120939eb8(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=137
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e40(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x120939e40(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=137
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b98(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x120939b98(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a0 b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["row", "=", "a0 b  cccc  ", ";"])>
xxx parse line "row="a0 b  cccc  ";" tokens=<StringArray#0x12093c640(["row", "=", "a0 b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a0 b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a0 b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a0 b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node '0'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c848(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093c848(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c898(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093c898(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a1 h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939670(["row", "=", "a1 h  ffff  ", ";"])>
xxx parse line "row="a1 h  ffff  ";" tokens=<StringArray#0x120939670(["row", "=", "a1 h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a1 h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a1 h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a1 h  ffff  "
xxx addLayoutRow: add implicit node '1'
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x120939a58(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c0a0(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093c0a0(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093c118(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a     5678  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939ad0(["row", "=", "a     5678  ", ";"])>
xxx parse line "row="a     5678  ";" tokens=<StringArray#0x120939ad0(["row", "=", "a     5678  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     5678  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     5678  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     5678  "
xxx addLayoutRow: add implicit node '5'
xxx addLayoutRow: add implicit node '6'
xxx addLayoutRow: add implicit node '7'
xxx addLayoutRow: add implicit node '8'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a2   3llllA9";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f58(["row", "=", "a2   3llllA9", ";"])>
xxx parse line "row="a2   3llllA9";" tokens=<StringArray#0x120939f58(["row", "=", "a2   3llllA9", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a2   3llllA9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a2   3llllA9' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a2   3llllA9"
xxx addLayoutRow: add implicit node '2'
xxx addLayoutRow: add implicit node '3'
xxx addLayoutRow: add implicit node 'A'
xxx addLayoutRow: add implicit node '9'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=137
xxx GRParseContext: beginLine: cur_line="row="aB          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["row", "=", "aB          "])>
xxx parse line "row="aB          "" tokens=<StringArray#0x120939008(["row", "=", "aB          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aB          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aB          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aB          "
xxx addLayoutRow: add implicit node 'B'
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=137
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093a0c0(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=137
xxx GRParseContext: beginLine: cur_line="0 [pad_h=0 w=0 align=left,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["0", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parse line "0 [pad_h=0 w=0 align=left,centery]" tokens=<StringArray#0x120939008(["0", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='0' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '0' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad_h' prev_node=<0>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<0>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad_h' nTok='=' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<0>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='align' prev_node=<0>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='left,centery' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='left,centery' nTok=']' prev_node=<0>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<0>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=137
xxx GRParseContext: beginLine: cur_line="1 [pad_h=0 w=0 align=left,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["1", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parse line "1 [pad_h=0 w=0 align=left,centery]" tokens=<StringArray#0x12093a0c0(["1", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='1' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '1' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad_h' prev_node=<1>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<1>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad_h' nTok='=' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<1>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='align' prev_node=<1>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='left,centery' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='left,centery' nTok=']' prev_node=<1>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<1>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=137
xxx GRParseContext: beginLine: cur_line="2 [pad_h=0 w=0 align=left,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["2", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parse line "2 [pad_h=0 w=0 align=left,centery]" tokens=<StringArray#0x120939008(["2", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='2' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '2' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad_h' prev_node=<2>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<2>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad_h' nTok='=' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<2>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='align' prev_node=<2>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='left,centery' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='left,centery' nTok=']' prev_node=<2>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<2>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=137
xxx GRParseContext: beginLine: cur_line="3 [pad_h=0 w=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["3", "[", "pad_h", "=", "0", "w", "=", "0", "]"])>
xxx parse line "3 [pad_h=0 w=0]" tokens=<StringArray#0x12093a0c0(["3", "[", "pad_h", "=", "0", "w", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='3' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '3' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad_h' prev_node=<3>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<3>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad_h' nTok='=' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<3>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok=']' prev_node=<3>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<3>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=137
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x120939008(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=137
xxx GRParseContext: beginLine: cur_line="5 [pad=0 s=16,0  align=centerx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["5", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parse line "5 [pad=0 s=16,0  align=centerx,bottom]" tokens=<StringArray#0x12093a0c0(["5", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='5' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '5' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<5>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<5>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<5>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,0' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,0' nTok='align' prev_node=<5>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='centerx,bottom' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='centerx,bottom' nTok=']' prev_node=<5>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<5>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=137
xxx GRParseContext: beginLine: cur_line="6 [pad=0 s=16,0  align=centerx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["6", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parse line "6 [pad=0 s=16,0  align=centerx,bottom]" tokens=<StringArray#0x120939008(["6", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='6' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '6' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<6>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<6>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<6>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,0' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,0' nTok='align' prev_node=<6>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='centerx,bottom' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='centerx,bottom' nTok=']' prev_node=<6>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<6>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=137
xxx GRParseContext: beginLine: cur_line="7 [pad=0 s=16,0  align=centerx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["7", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parse line "7 [pad=0 s=16,0  align=centerx,bottom]" tokens=<StringArray#0x12093a0c0(["7", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='7' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '7' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<7>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<7>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<7>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,0' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,0' nTok='align' prev_node=<7>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='centerx,bottom' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='centerx,bottom' nTok=']' prev_node=<7>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<7>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=137
xxx GRParseContext: beginLine: cur_line="8 [pad=0 s=16,0  align=centerx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["8", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parse line "8 [pad=0 s=16,0  align=centerx,bottom]" tokens=<StringArray#0x120939008(["8", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='8' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '8' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<8>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<8>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<8>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,0' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,0' nTok='align' prev_node=<8>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='centerx,bottom' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='centerx,bottom' nTok=']' prev_node=<8>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<8>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=137
xxx GRParseContext: beginLine: cur_line="9 [pad=0 s=16,16 align=center helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["9", "[", "pad", "=", "0", "s", "=", "16,16", "align", "=", "center", "helper", "=", "true", "]"])>
xxx parse line "9 [pad=0 s=16,16 align=center helper=true]" tokens=<StringArray#0x12093a0c0(["9", "[", "pad", "=", "0", "s", "=", "16,16", "align", "=", "center", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='9' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '9' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<9>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<9>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<9>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='align' prev_node=<9>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='helper' prev_node=<9>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='helper' nTok='=' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='true' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='true' nTok=']' prev_node=<9>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='' prev_node=<9>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=137
xxx GRParseContext: beginLine: cur_line="A [pad=0 s=0,16  align=left,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["A", "[", "pad", "=", "0", "s", "=", "0,16", "align", "=", "left,centery", "]"])>
xxx parse line "A [pad=0 s=0,16  align=left,centery]" tokens=<StringArray#0x120939008(["A", "[", "pad", "=", "0", "s", "=", "0,16", "align", "=", "left,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='A' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'A' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<A>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<A>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<A>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0,16' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0,16' nTok='align' prev_node=<A>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="0;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='left,centery' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='left,centery' nTok=']' prev_node=<A>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<A>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=137
xxx GRParseContext: beginLine: cur_line="B [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["B", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "B [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093a0c0(["B", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='B' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'B' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<B>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<B>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<B>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<B>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<B>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<B>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=137
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x120939008(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=137
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [align=right,expandy w=48 pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["a", "MBI", "[", "align", "=", "right,expandy", "w", "=", "48", "pad", "=", "0", "]"])>
xxx parse line "a "MBI"                  [align=right,expandy w=48 pad=0]" tokens=<StringArray#0x12093a0c0(["a", "MBI", "[", "align", "=", "right,expandy", "w", "=", "48", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab900((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='right,expandy' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='right,expandy' nTok='w' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='w' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='48' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='48' nTok='pad' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=137
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["b", "ZSCache", "[", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [align=right,centery]" tokens=<StringArray#0x120939008(["b", "ZSCache", "[", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab880((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='right,centery' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='right,centery' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=137
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["c", "ZSUnit", "[", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [sgx=zs]" tokens=<StringArray#0x12093a0c0(["c", "ZSUnit", "[", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab8c0((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zs' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zs' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=137
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["d", "Multisample Assembly", "[", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [sgx=zs]" tokens=<StringArray#0x120939008(["d", "Multisample Assembly", "[", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab800((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zs' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zs' nTok=']' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=137
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["e", "Address Encoder", "[", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [sgx=zs]" tokens=<StringArray#0x12093a0c0(["e", "Address Encoder", "[", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab7c0((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zs' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zs' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=137
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%] //shape=rhomb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["f", "Dispatcher", "[", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%] " tokens=<StringArray#0x120939008(["f", "Dispatcher", "[", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab780((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='75%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='75%' nTok='pad_h' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok='align' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='align' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='center' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='center' nTok='ipad_l' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='ipad_l' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='6' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='6' nTok='ipad_r' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_r' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='bg_pattern' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='bg_pattern' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='zigzag_4' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern_intensity' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='8%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='8%' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=137
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["g", "Fast Clear", "[", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [pad_h=0]" tokens=<StringArray#0x12093a0c0(["g", "Fast Clear", "[", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab840((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_h' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<g>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=137
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      []"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["h", "Vertex Assembly", "[", "]"])>
xxx parse line "h "Vertex Assembly"      []" tokens=<StringArray#0x120939008(["h", "Vertex Assembly", "[", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab700((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=137
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          []"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["i", "Index Cache", "[", "]"])>
xxx parse line "i "Index Cache"          []" tokens=<StringArray#0x12093a0c0(["i", "Index Cache", "[", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab680((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=137
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   []"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["j", "Primitive Assembly", "[", "]"])>
xxx parse line "j "Primitive Assembly"   []" tokens=<StringArray#0x120939008(["j", "Primitive Assembly", "[", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab6c0((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok=']' nTok='' prev_node=<j>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=137
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["k", "Scratch\nRAM", "[", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [pad_b=16]" tokens=<StringArray#0x12093a0c0(["k", "Scratch\nRAM", "[", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab640((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_b' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='16' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='16' nTok=']' prev_node=<k>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<k>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=137
xxx GRParseContext: beginLine: cur_line="l                        [pad=0 border_width=0 align=top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["l", "[", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]"])>
xxx parse line "l                        [pad=0 border_width=0 align=top]" tokens=<StringArray#0x120939008(["l", "[", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='border_width' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='border_width' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='align' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='top' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='top' nTok=']' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=137
xxx GRParseContext: beginLine: cur_line="m                        [align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [align=left,centery pad_r=60]" tokens=<StringArray#0x12093a0c0(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='align' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='left,centery' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='left,centery' nTok='pad_r' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad_r' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='60' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='60' nTok=']' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=137
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["n", "ZSFIFO", "[", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [pad_b=24]" tokens=<StringArray#0x120939008(["n", "ZSFIFO", "[", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abb40((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_b' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='24' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='24' nTok=']' prev_node=<n>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<n>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=137
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["o", "ZSScheduler", "[", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [pad_b=24]" tokens=<StringArray#0x12093a0c0(["o", "ZSScheduler", "[", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abb80((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_b' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='24' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='24' nTok=']' prev_node=<o>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<o>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=137
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["p", "Rasterizer", "[", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [pad_b=24]" tokens=<StringArray#0x120939008(["p", "Rasterizer", "[", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abbc0((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_b' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='24' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='24' nTok=']' prev_node=<p>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<p>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=137
xxx GRParseContext: beginLine: cur_line="p->o "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["p", "-", ">", "o", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "p->o "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a0c0(["p", "-", ">", "o", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='o' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='o' nTok='Stamp' prev_node=<p>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=137
xxx GRParseContext: beginLine: cur_line="o->n "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["o", "-", ">", "n", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "o->n "Stamp" [pad_r=20]" tokens=<StringArray#0x120939008(["o", "-", ">", "n", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='n' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='n' nTok='Stamp' prev_node=<o>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=137
xxx GRParseContext: beginLine: cur_line="n->c "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["n", "-", ">", "c", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "n->c "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a0c0(["n", "-", ">", "c", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='c' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='c' nTok='Stamp' prev_node=<n>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=137
xxx GRParseContext: beginLine: cur_line="o->b "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["o", "-", ">", "b", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "o->b "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x120939008(["o", "-", ">", "b", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='Prefetch' prev_node=<o>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=137
xxx GRParseContext: beginLine: cur_line="0<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["0", "<", ">", "b"])>
xxx parse line "0<>b" tokens=<StringArray#0x12093a0c0(["0", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='0' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<0>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<0>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=137
xxx GRParseContext: beginLine: cur_line="b<>c"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["b", "<", ">", "c"])>
xxx parse line "b<>c" tokens=<StringArray#0x120939008(["b", "<", ">", "c"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='b' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<0>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='<' prev_node=<null> prev_edge=edge<tail<0>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='c' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='c' nTok='' prev_node=<b>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<b>(?,?) head<c>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=137
xxx GRParseContext: beginLine: cur_line="c->d->e->f "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["c", "-", ">", "d", "-", ">", "e", "-", ">", "f", "Stamp"])>
xxx parse line "c->d->e->f "Stamp"" tokens=<StringArray#0x12093a0c0(["c", "-", ">", "d", "-", ">", "e", "-", ">", "f", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='c' nTok='-' prev_node=<c>(?,?) prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='-' prev_node=<null> prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='d' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='d' nTok='-' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='e' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='e' nTok='-' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='f' nTok='Stamp' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=137
xxx GRParseContext: beginLine: cur_line="e->g "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["e", "-", ">", "g", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "e->g "Tile" [pad_t=15]" tokens=<StringArray#0x120939008(["e", "-", ">", "g", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='e' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='Tile' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=137
xxx GRParseContext: beginLine: cur_line="f->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["f", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "f->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093a0c0(["f", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<f>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=137
xxx GRParseContext: beginLine: cur_line="4->5 [xmajor_tail=true edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["4", "-", ">", "5", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4->5 [xmajor_tail=true edge_shape=rcurve]" tokens=<StringArray#0x120939008(["4", "-", ">", "5", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='5' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='5' nTok='[' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='true' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='true' nTok='edge_shape' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='edge_shape' nTok='=' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='rcurve' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='rcurve' nTok=']' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=137
xxx GRParseContext: beginLine: cur_line="4->6 [xmajor_tail=true edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["4", "-", ">", "6", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4->6 [xmajor_tail=true edge_shape=rcurve]" tokens=<StringArray#0x12093a0c0(["4", "-", ">", "6", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='6' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='6' nTok='[' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='true' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='true' nTok='edge_shape' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='edge_shape' nTok='=' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='rcurve' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='rcurve' nTok=']' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=137
xxx GRParseContext: beginLine: cur_line="4->7 [xmajor_tail=true edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["4", "-", ">", "7", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4->7 [xmajor_tail=true edge_shape=rcurve]" tokens=<StringArray#0x120939008(["4", "-", ">", "7", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='7' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='7' nTok='[' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='true' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='true' nTok='edge_shape' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='edge_shape' nTok='=' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='rcurve' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='rcurve' nTok=']' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=137
xxx GRParseContext: beginLine: cur_line="4->8 [xmajor_tail=true xmajor_head=false edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["4", "-", ">", "8", "[", "xmajor_tail", "=", "true", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4->8 [xmajor_tail=true xmajor_head=false edge_shape=rcurve]" tokens=<StringArray#0x12093a0c0(["4", "-", ">", "8", "[", "xmajor_tail", "=", "true", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='8' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='8' nTok='[' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='true' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='true' nTok='xmajor_head' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='false' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='false' nTok='edge_shape' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok='edge_shape' nTok='=' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:12) cTok='=' nTok='rcurve' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:13) cTok='rcurve' nTok=']' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:14) cTok=']' nTok='' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=137
xxx GRParseContext: beginLine: cur_line="g->9 "Tile" [pad_r=18 xmajor_head=true arrow_shape=none]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["g", "-", ">", "9", "Tile", "[", "pad_r", "=", "18", "xmajor_head", "=", "true", "arrow_shape", "=", "none", "]"])>
xxx parse line "g->9 "Tile" [pad_r=18 xmajor_head=true arrow_shape=none]" tokens=<StringArray#0x120939008(["g", "-", ">", "9", "Tile", "[", "pad_r", "=", "18", "xmajor_head", "=", "true", "arrow_shape", "=", "none", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='9' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='9' nTok='Tile' prev_node=<g>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='18' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='18' nTok='xmajor_head' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="18"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='xmajor_head' nTok='=' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='true' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='true' nTok='arrow_shape' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='arrow_shape' nTok='=' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='none' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='none' nTok=']' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:15) cTok=']' nTok='' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=137
xxx GRParseContext: beginLine: cur_line="9->A"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["9", "-", ">", "A"])>
xxx parse line "9->A" tokens=<StringArray#0x12093a0c0(["9", "-", ">", "A"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='9' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='A' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='A' nTok='' prev_node=<9>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<9>(?,?) head<A>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=137
xxx GRParseContext: beginLine: cur_line="1<>h"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["1", "<", ">", "h"])>
xxx parse line "1<>h" tokens=<StringArray#0x120939008(["1", "<", ">", "h"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='1' nTok='<' prev_node=<A>(?,?) prev_edge=edge<tail<9>(?,?) head<A>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='1' nTok='<' prev_node=<null> prev_edge=edge<tail<9>(?,?) head<A>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='h' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='h' nTok='' prev_node=<1>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<1>(?,?) head<h>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=137
xxx GRParseContext: beginLine: cur_line="h->f "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["h", "-", ">", "f", "Vertex Stamp"])>
xxx parse line "h->f "Vertex Stamp"" tokens=<StringArray#0x12093a0c0(["h", "-", ">", "f", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='h' nTok='-' prev_node=<h>(?,?) prev_edge=edge<tail<1>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='-' prev_node=<null> prev_edge=edge<tail<1>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Vertex Stamp' prev_node=<h>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<h>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<h>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=137
xxx GRParseContext: beginLine: cur_line="i<>h [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["i", "<", ">", "h", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "i<>h [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x120939008(["i", "<", ">", "h", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='i' nTok='<' prev_node=<f>(?,?) prev_edge=edge<tail<h>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='<' prev_node=<null> prev_edge=edge<tail<h>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='h' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='h' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=132 #lines=137
xxx GRParseContext: beginLine: cur_line="i->j [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["i", "-", ">", "j", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "i->j [xmajor_tail=false]" tokens=<StringArray#0x12093a0c0(["i", "-", ">", "j", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='j' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='j' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<i>(?,?) head<j>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=133 #lines=137
xxx GRParseContext: beginLine: cur_line="j->f "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["j", "-", ">", "f", "Primitive Stamp"])>
xxx parse line "j->f "Primitive Stamp"" tokens=<StringArray#0x120939008(["j", "-", ">", "f", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Primitive Stamp' prev_node=<j>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<j>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<j>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=134 #lines=137
xxx GRParseContext: beginLine: cur_line="k<>3"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0c0(["k", "<", ">", "3"])>
xxx parse line "k<>3" tokens=<StringArray#0x12093a0c0(["k", "<", ">", "3"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='k' nTok='<' prev_node=<f>(?,?) prev_edge=edge<tail<j>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='<' prev_node=<null> prev_edge=edge<tail<j>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='3' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='3' nTok='' prev_node=<k>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<k>(?,?) head<3>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=135 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=136 #lines=137
xxx GRParseContext: beginLine: cur_line="2<>3 "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["2", "<", ">", "3", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "2<>3 "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x120939008(["2", "<", ">", "3", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='2' nTok='<' prev_node=<3>(?,?) prev_edge=edge<tail<k>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='2' nTok='<' prev_node=<null> prev_edge=edge<tail<k>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='3' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='3' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<2>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<2>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<3>(?,?) prev_edge=edge<tail<2>(?,?) head<3>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=137 #lines=137
xxx popParseContext cur=<class<GRParseContext>#0x1503b8ec0((null))> line_idx=137 parse_context_stack=<PointerArray#0x12093c078([<@0x1503b8ec0>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 73 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=13
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="p"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="p" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="o"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="o" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="n"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="n" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="a"
[trc] Node::addNodeAttrib: key="sh" value="10"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="a" => spanW=1 spanH=10 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell="0"
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="b"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="c"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="c" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="d"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="d" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="e"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="e" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell="1"
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="f"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="f" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="j"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="k"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="5"
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell="6"
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell="7"
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell="8"
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="2"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell="3"
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell="l"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell="l" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell="A"
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell="9"
[>>>] findSpansFromLayoutRows: grid=(0,12) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,12) sCell="B"
[>>>] findSpansFromLayoutRows: grid=(2,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,12) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["m", "", "", "", "", " ", "p", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="m"
[trc] setCell(64;64)=m
xxx layoutFixedPlaceRowNodes: sId="p"
[trc] setCell(70;64)=p
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "o", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="o"
[trc] setCell(70;65)=o
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "n", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="n"
[trc] setCell(70;66)=n
xxx layoutFixedPlaceRowNodes: aRow=["a", "0", " ", "b", " ", " ", "c", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;67)=a
xxx layoutFixedPlaceRowNodes: sId="0"
[trc] setCell(65;67)=0
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(67;67)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(70;67)=c
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "d", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(70;68)=d
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "e", "", "", "", " ", "g"]
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(70;69)=e
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(75;69)=g
xxx layoutFixedPlaceRowNodes: aRow=["", "1", " ", "h", " ", " ", "f", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="1"
[trc] setCell(65;70)=1
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(67;70)=h
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(70;70)=f
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "j", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="j"
[trc] setCell(67;72)=j
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "k", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="k"
[trc] setCell(66;73)=k
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "5", "6", "7", "8", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="5"
[trc] setCell(70;74)=5
xxx layoutFixedPlaceRowNodes: sId="6"
[trc] setCell(71;74)=6
xxx layoutFixedPlaceRowNodes: sId="7"
[trc] setCell(72;74)=7
xxx layoutFixedPlaceRowNodes: sId="8"
[trc] setCell(73;74)=8
xxx layoutFixedPlaceRowNodes: aRow=["", "2", " ", " ", " ", "3", "l", "", "", "", "A", "9"]
xxx layoutFixedPlaceRowNodes: sId="2"
[trc] setCell(65;75)=2
xxx layoutFixedPlaceRowNodes: sId="3"
[trc] setCell(69;75)=3
xxx layoutFixedPlaceRowNodes: sId="l"
[trc] setCell(70;75)=l
xxx layoutFixedPlaceRowNodes: sId="A"
[trc] setCell(74;75)=A
xxx layoutFixedPlaceRowNodes: sId="9"
[trc] setCell(75;75)=9
xxx layoutFixedPlaceRowNodes: aRow=["", "B", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="B"
[trc] setCell(65;76)=B
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;76) sz=(12x13)
[trc] debugPrintNodes: n[0] = <graph:m>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:l>(6,11) label="l" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <p>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <o>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <n>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <a>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="10", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <0>(1,3) label="0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[7] = <b>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[8] = <c>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <d>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <e>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[11] = <g>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <1>(1,6) label="1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[13] = <h>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[14] = <f>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[15] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <j>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[17] = <k>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[18] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[19] = <5>(6,10) label="5" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;bottom", "shape_round_amount"="20%", "pad"="0", "h"="0"]
[trc] debugPrintNodes: n[20] = <6>(7,10) label="6" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;bottom", "shape_round_amount"="20%", "pad"="0", "h"="0"]
[trc] debugPrintNodes: n[21] = <7>(8,10) label="7" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;bottom", "shape_round_amount"="20%", "pad"="0", "h"="0"]
[trc] debugPrintNodes: n[22] = <8>(9,10) label="8" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;bottom", "shape_round_amount"="20%", "pad"="0", "h"="0"]
[trc] debugPrintNodes: n[23] = <2>(1,11) label="2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[24] = <3>(5,11) label="3" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[25] = <A>(10,11) label="A" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[26] = <9>(11,11) label="9" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[27] = <B>(1,12) label="B" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintEdges: e[0] = edge<tail<p>(6,0) head<o>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<o>(6,1) head<n>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<n>(6,2) head<c>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<o>(6,1) head<b>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<0>(1,3) head<b>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<b>(3,3) head<c>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<c>(6,3) head<d>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<d>(6,4) head<e>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<e>(6,5) head<f>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<e>(6,5) head<g>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<f>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9) head<5>(6,10)> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="1", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9) head<6>(7,10)> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="1", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9) head<7>(8,10)> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="1", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9) head<8>(9,10)> label="" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="1", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<g>(11,5) head<9>(11,11)> label="Tile" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="18", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<9>(11,11) head<A>(10,11)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<1>(1,6) head<h>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<h>(3,6) head<f>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<i>(2,7) head<h>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<i>(2,7) head<j>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<j>(3,8) head<f>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<k>(2,9) head<3>(5,11)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[23] = edge<tail<2>(1,11) head<3>(5,11)> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<p>(6,0) => head<o>(6,1) style=normal
[trc] draw edge: tail<<o>(6,1) => head<n>(6,2) style=normal
[trc] draw edge: tail<<n>(6,2) => head<c>(6,3) style=normal
[trc] draw edge: tail<<o>(6,1) => head<b>(3,3) style=normal
[trc] draw edge: tail<<0>(1,3) => head<b>(3,3) style=bidir
[trc] draw edge: tail<<b>(3,3) => head<c>(6,3) style=bidir
[trc] draw edge: tail<<c>(6,3) => head<d>(6,4) style=normal
[trc] draw edge: tail<<d>(6,4) => head<e>(6,5) style=normal
[trc] draw edge: tail<<e>(6,5) => head<f>(6,6) style=normal
[trc] draw edge: tail<<e>(6,5) => head<g>(11,5) style=normal
[trc] draw edge: tail<<f>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<5>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<6>(7,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<7>(8,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<8>(9,10) style=normal
[trc] draw edge: tail<<g>(11,5) => head<9>(11,11) style=normal
[trc] draw edge: tail<<9>(11,11) => head<A>(10,11) style=normal
[trc] draw edge: tail<<1>(1,6) => head<h>(3,6) style=bidir
[trc] draw edge: tail<<h>(3,6) => head<f>(6,6) style=normal
[trc] draw edge: tail<<i>(2,7) => head<h>(3,6) style=bidir
[trc] draw edge: tail<<i>(2,7) => head<j>(3,8) style=normal
[trc] draw edge: tail<<j>(3,8) => head<f>(6,6) style=normal
[trc] draw edge: tail<<k>(2,9) => head<3>(5,11) style=bidir
[trc] draw edge: tail<<2>(1,11) => head<3>(5,11) style=bidir
main[12x13]=
 ____________________________________ 
|...               ...               |
|.m.               .p.               |
|...               .v.               |
|                  .v.               |
|                  .o.               |
|                  .v.               |
|                  .v.               |
|                  .n.               |
|                  .v.               |
|......   .v.      .v.               |
|.a..0>>>>>b>>>>>>>>c.               |
|......   ...      .v.               |
|                  .v.               |
|                  .d.               |
|                  .v.               |
|                  .v.            ...|
|                  .e>>>>>>>>>>>>>>g.|
|                  .v.            .v.|
|   ...   ...      .v.             v |
|   .1>>>>>h>>>>>>>>f.             v |
|   ...   ...      .v.             v |
|      ...          v              v |
|      .i>          v              v |
|      ..\          v              v |
|         \..       v              v |
|         .j>       v              v |
|         ...       v              v |
|      ...         .v.             v |
|      .k>         .4>             v |
|      ...         .v\             v |
|                  .v.\........    v |
|                  .5..6.>7.>8.    v |
|                  ............    v |
|   ...         ......         ....v.|
|   .2>>>>>>>>>>>3..l.         .A<<9.|
|   ...         ......         ......|
|   ...                              |
|   .B.                              |
|   ...                              |
 ------------------------------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:l>(6,11) subgraph.id=l
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:l>(6,11) gw=<class<GraphForm>#0x15045ce80((null))>
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:m>(0,0) subgraph.id=m
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:m>(0,0) gw=<class<GraphForm>#0x1503bb440((null))>
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 1 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<class<Button>#0x150463740((null))>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1468;1053)
[...] ===================================================== GraphForm::processGRFile("gr/test38b.gr")
xxx Graph::buildPathname: newPathname="gr/test38b.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38b.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503bbe40((null))> name="gr/test38b.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel debug 1"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=27
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093c9d8(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093c9d8(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093c9d8(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093c9d8(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x120939008(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x120939c60(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x120939008(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x120939c60(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x120939008(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x120939c60(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x120939008(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x120939c60(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x120939008(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x120939c60(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x120939008(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x120939c60(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x120939008(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939c60(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x120939008(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["def"])>
xxx parse line "  def" tokens=<StringArray#0x120939c60(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x120939008(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x120939c60(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x120939008(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x120939c60(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x120939008(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x120939c60(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939008(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x120939c60(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x120939008(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x120939c60(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x120939008(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x120939c60(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939008(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x120939c60(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x120939008(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939c60(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x120939008(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c4b0(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0bc0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x120939008(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c4b0(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0bc0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x120939008(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0bc0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c4b0(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0bc0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x120939008(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0bc0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093b560([<@0x1503bbe40>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093c9d8(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=27
xxx GRParseContext: beginLine: cur_line=" row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["row_padding", "=", "0"])>
xxx parse line " row_padding=0" tokens=<StringArray#0x12093c4b0(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0bc0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=27
xxx GRParseContext: beginLine: cur_line=" col_padding=8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["col_padding", "=", "8"])>
xxx parse line " col_padding=8" tokens=<StringArray#0x12093c9d8(["col_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0bc0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=27
xxx GRParseContext: beginLine: cur_line="ipad=12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["ipad", "=", "12"])>
xxx parse line "ipad=12" tokens=<StringArray#0x12093c4b0(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0bc0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=27
xxx GRParseContext: beginLine: cur_line="flatten=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["flatten", "=", "0"])>
xxx parse line "flatten=0" tokens=<StringArray#0x12093c9d8(["flatten", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='flatten' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0bc0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "flatten"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=27
xxx GRParseContext: beginLine: cur_line="row="eeeeg";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["row", "=", "eeeeg", ";"])>
xxx parse line "row="eeeeg";" tokens=<StringArray#0x12093c4b0(["row", "=", "eeeeg", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='eeeeg' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='eeeeg' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="eeeeg"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=27
xxx GRParseContext: beginLine: cur_line="row="ffffh";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209399e0(["row", "=", "ffffh", ";"])>
xxx parse line "row="ffffh";" tokens=<StringArray#0x1209399e0(["row", "=", "ffffh", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffffh' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffffh' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffffh"
xxx addLayoutRow: add implicit node 'f'
xxx addLayoutRow: add implicit node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=27
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a020(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093a020(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=27
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939cd8(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x120939cd8(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=27
xxx GRParseContext: beginLine: cur_line="row="     ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["row", "=", "     ", ";"])>
xxx parse line "row="     ";" tokens=<StringArray#0x1209395d0(["row", "=", "     ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='     ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='     ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="     "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=27
xxx GRParseContext: beginLine: cur_line="row="llll ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["row", "=", "llll ", ";"])>
xxx parse line "row="llll ";" tokens=<StringArray#0x12093a098(["row", "=", "llll ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='llll ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='llll ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="llll "
xxx addLayoutRow: add implicit node 'l'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=27
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093ca28(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=27
xxx GRParseContext: beginLine: cur_line="e "Address Encoder" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["e", "Address Encoder", "[", "pad", "=", "0", "]"])>
xxx parse line "e "Address Encoder" [pad=0]" tokens=<StringArray#0x12093a098(["e", "Address Encoder", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ab3c0((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=27
xxx GRParseContext: beginLine: cur_line="f "Dispatcher" [h=75% pad=0 align=right]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parse line "f "Dispatcher" [h=75% pad=0 align=right]" tokens=<StringArray#0x12093ca28(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a7740((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='75%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='75%' nTok='pad' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok='align' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='align' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='right' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='right' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=27
xxx GRParseContext: beginLine: cur_line="g "Fast Clear" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parse line "g "Fast Clear" [pad=0]" tokens=<StringArray#0x12093a098(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a7700((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<g>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=27
xxx GRParseContext: beginLine: cur_line="h [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["h", "[", "pad", "=", "0", "]"])>
xxx parse line "h [pad=0]" tokens=<StringArray#0x12093ca28(["h", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=27
xxx GRParseContext: beginLine: cur_line="l [pad=0 w=312]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["l", "[", "pad", "=", "0", "w", "=", "312", "]"])>
xxx parse line "l [pad=0 w=312]" tokens=<StringArray#0x12093a098(["l", "[", "pad", "=", "0", "w", "=", "312", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='312' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='312' nTok=']' prev_node=<l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="312"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<l>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=27
xxx GRParseContext: beginLine: cur_line="e->f "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["e", "-", ">", "f", "Stamp"])>
xxx parse line "e->f "Stamp"" tokens=<StringArray#0x12093ca28(["e", "-", ">", "f", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Stamp' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=27
xxx GRParseContext: beginLine: cur_line="e->g"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["e", "-", ">", "g"])>
xxx parse line "e->g" tokens=<StringArray#0x12093a098(["e", "-", ">", "g"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='e' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=27
xxx popParseContext cur=<class<GRParseContext>#0x1503bbe40((null))> line_idx=27 parse_context_stack=<PointerArray#0x12093b560([<@0x1503bbe40>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 23 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=5 gridH=6
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell="l"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell="l" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["e", "", "", "", "g"]
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(64;64)=e
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(68;64)=g
xxx layoutFixedPlaceRowNodes: aRow=["f", "", "", "", "h"]
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(64;65)=f
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(68;65)=h
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=[" ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: aRow=["l", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: sId="l"
[trc] setCell(64;69)=l
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;69) sz=(5x6)
[trc] debugPrintNodes: n[0] = <e>(0,0) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[1] = <g>(4,0) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <f>(0,1) label="Dispatcher" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="right", "shape_round_amount"="20%", "pad"="0", "h"="75%"]
[trc] debugPrintNodes: n[3] = <h>(4,1) label="h" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[4] = <l>(0,5) label="l" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="312", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintEdges: e[0] = edge<tail<e>(0,0) head<f>(0,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<e>(0,0) head<g>(4,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<e>(0,0) => head<f>(0,1) style=normal
[trc] draw edge: tail<<e>(0,0) => head<g>(4,0) style=normal
main[5x6]=
 _______________ 
|...         ...|
|.e>>>>>>>>>>>g.|
|.v.         ...|
|.v.         ...|
|.f.         .h.|
|...         ...|
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|...            |
|.l.            |
|...            |
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;773;156)
[...] ===================================================== GraphForm::processGRFile("gr/test38c.gr")
xxx Graph::buildPathname: newPathname="gr/test38c.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38c.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x15045ad80((null))> name="gr/test38c.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel debug 2"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=44
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x120939008(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x120939008(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x120939008(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x120939008(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093a098(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093c078(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093a098(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093c078(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093a098(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093c078(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093a098(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093c078(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093a098(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093c078(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093a098(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093c078(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093a098(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c078(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093a098(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093c078(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093a098(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093c078(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093a098(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093c078(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093a098(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093c078(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a098(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093c078(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093a098(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c078(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a098(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093c078(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a098(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093c078(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093a098(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c078(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093a098(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x120939c10(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b8ec0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093a098(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x120939c10(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b8ec0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093a098(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b8ec0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x120939c10(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b8ec0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093a098(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b8ec0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093b6f0([<@0x15045ad80>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x120939008(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=44
xxx GRParseContext: beginLine: cur_line=" row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["row_padding", "=", "0"])>
xxx parse line " row_padding=0" tokens=<StringArray#0x120939c10(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b8ec0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=44
xxx GRParseContext: beginLine: cur_line=" col_padding=8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["col_padding", "=", "8"])>
xxx parse line " col_padding=8" tokens=<StringArray#0x120939008(["col_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b8ec0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=44
xxx GRParseContext: beginLine: cur_line="ipad=12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["ipad", "=", "12"])>
xxx parse line "ipad=12" tokens=<StringArray#0x120939c10(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b8ec0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=44
xxx GRParseContext: beginLine: cur_line="flatten=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["flatten", "=", "0"])>
xxx parse line "flatten=0" tokens=<StringArray#0x120939008(["flatten", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='flatten' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b8ec0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "flatten"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=44
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x120939c10(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="8", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=44
xxx GRParseContext: beginLine: cur_line="  layout=fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parse line "  layout=fixed" tokens=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=44
xxx GRParseContext: beginLine: cur_line="  zero_margin = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin = true" tokens=<StringArray#0x120939c10(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=44
xxx GRParseContext: beginLine: cur_line="  unfold = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parse line "  unfold = false" tokens=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=44
xxx GRParseContext: beginLine: cur_line="  row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["row_padding", "=", "0"])>
xxx parse line "  row_padding=0" tokens=<StringArray#0x120939c10(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad080((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="8", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=44
xxx GRParseContext: beginLine: cur_line="  col_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parse line "  col_padding=0" tokens=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad080((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=44
xxx GRParseContext: beginLine: cur_line="  border_width=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["border_width", "=", "0"])>
xxx parse line "  border_width=0" tokens=<StringArray#0x120939c10(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad080((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=44
xxx GRParseContext: beginLine: cur_line="  pad = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parse line "  pad = 0" tokens=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad080((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=44
xxx GRParseContext: beginLine: cur_line="  bgcolor=#f00"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["bgcolor", "=", "#f00"])>
xxx parse line "  bgcolor=#f00" tokens=<StringArray#0x120939c10(["bgcolor", "=", "#f00"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f00' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f00' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad080((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00ff0000", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=44
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=44
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [font=small]  // sgx=shcore"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["S", "Shader Core 0", "[", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [font=small]  " tokens=<StringArray#0x12093c4b0(["S", "Shader Core 0", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a76c0((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=44
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [font=small]" tokens=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1fc0((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=44
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["U", "Shader Core 2", "[", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [font=small]" tokens=<StringArray#0x12093c4b0(["U", "Shader Core 2", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2000((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=44
xxx GRParseContext: beginLine: cur_line="  V "..."           [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["V", "...", "[", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [font=small]" tokens=<StringArray#0x12093ca28(["V", "...", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2040((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=44
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c4b0(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503b8ec0((null))> graph=<class<Graph>#0x1503ad080((null))> graph.parent_graph=<class<Graph>#0x1503b8ec0((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=44
xxx GRParseContext: beginLine: cur_line="row="eeeeg";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["row", "=", "eeeeg", ";"])>
xxx parse line "row="eeeeg";" tokens=<StringArray#0x12093c168(["row", "=", "eeeeg", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='eeeeg' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='eeeeg' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="eeeeg"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffffh";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["row", "=", "ffffh", ";"])>
xxx parse line "row="ffffh";" tokens=<StringArray#0x12093bd80(["row", "=", "ffffh", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffffh' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffffh' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffffh"
xxx addLayoutRow: add implicit node 'f'
xxx addLayoutRow: add implicit node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bdd0(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093bdd0(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x120939eb8(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=44
xxx GRParseContext: beginLine: cur_line="row="llll ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["row", "=", "llll ", ";"])>
xxx parse line "row="llll ";" tokens=<StringArray#0x120939a58(["row", "=", "llll ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='llll ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='llll ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="llll "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=44
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093c640(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=44
xxx GRParseContext: beginLine: cur_line="e "Address Encoder" [pad=0 align=center]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["e", "Address Encoder", "[", "pad", "=", "0", "align", "=", "center", "]"])>
xxx parse line "e "Address Encoder" [pad=0 align=center]" tokens=<StringArray#0x120939a58(["e", "Address Encoder", "[", "pad", "=", "0", "align", "=", "center", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503acfc0((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='align' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='center' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='center' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=44
xxx GRParseContext: beginLine: cur_line="f "Dispatcher" [h=75% pad=0 align=right]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parse line "f "Dispatcher" [h=75% pad=0 align=right]" tokens=<StringArray#0x12093c640(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad000((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='75%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='75%' nTok='pad' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok='align' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='align' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='right' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='right' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=44
xxx GRParseContext: beginLine: cur_line="g "Fast Clear" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parse line "g "Fast Clear" [pad=0]" tokens=<StringArray#0x120939a58(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503acf80((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<g>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=44
xxx GRParseContext: beginLine: cur_line="h [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["h", "[", "pad", "=", "0", "]"])>
xxx parse line "h [pad=0]" tokens=<StringArray#0x12093c640(["h", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=44
xxx GRParseContext: beginLine: cur_line="l [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["l", "[", "pad", "=", "0", "]"])>
xxx parse line "l [pad=0]" tokens=<StringArray#0x120939a58(["l", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=44
xxx GRParseContext: beginLine: cur_line="e->f "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["e", "-", ">", "f", "Stamp"])>
xxx parse line "e->f "Stamp"" tokens=<StringArray#0x12093c640(["e", "-", ">", "f", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Stamp' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=44
xxx GRParseContext: beginLine: cur_line="e->g"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["e", "-", ">", "g"])>
xxx parse line "e->g" tokens=<StringArray#0x120939a58(["e", "-", ">", "g"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='e' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=44
xxx popParseContext cur=<class<GRParseContext>#0x15045ad80((null))> line_idx=44 parse_context_stack=<PointerArray#0x12093b6f0([<@0x15045ad80>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 47 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=5 gridH=5
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell="l"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell="l" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["e", "", "", "", "g"]
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(64;64)=e
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(68;64)=g
xxx layoutFixedPlaceRowNodes: aRow=["f", "", "", "", "h"]
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(64;65)=f
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(68;65)=h
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["l", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: sId="l"
[trc] setCell(64;68)=l
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;68) sz=(5x5)
[trc] debugPrintNodes: n[0] = <graph:l>(0,4) label="l" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[1] = <e>(0,0) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <g>(4,0) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[3] = <f>(0,1) label="Dispatcher" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="right", "shape_round_amount"="20%", "pad"="0", "h"="75%"]
[trc] debugPrintNodes: n[4] = <h>(4,1) label="h" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintEdges: e[0] = edge<tail<e>(0,0) head<f>(0,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<e>(0,0) head<g>(4,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 1 ms
[trc] draw edge: tail<<e>(0,0) => head<f>(0,1) style=normal
[trc] draw edge: tail<<e>(0,0) => head<g>(4,0) style=normal
main[5x5]=
 _______________ 
|...         ...|
|.e>>>>>>>>>>>g.|
|.v.         ...|
|.v.         ...|
|.f.         .h.|
|...         ...|
|               |
|               |
|               |
|               |
|               |
|               |
|...            |
|.l.            |
|...            |
 --------------- 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:l>(0,4) subgraph.id=l
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:l>(0,4) gw=<class<GraphForm>#0x1503b6740((null))>
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;665;149)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503b9e40((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093a098(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093a098(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093a098(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093a098(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x120939a58(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093b560(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x120939a58(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093b560(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x120939a58(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093b560(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x120939a58(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093b560(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x120939a58(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093b560(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x120939a58(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093b560(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x120939a58(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b560(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x120939a58(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093b560(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x120939a58(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093b560(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x120939a58(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093b560(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x120939a58(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093b560(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939a58(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093b560(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x120939a58(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093b560(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x120939a58(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093b560(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939a58(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093b560(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x120939a58(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b560(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b560(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x120939a58(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093d1d0(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093d1d0(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503bbe40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x120939a58(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093d1d0(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093d1d0(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503bbe40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x120939a58(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503bbe40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093d1d0(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093d1d0(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503bbe40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x120939a58(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503bbe40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093b8a8([<@0x1503b9e40>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093a098(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093d1d0(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093d1d0(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x12093a098(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503bbe40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093d1d0(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x12093d1d0(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503bbe40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093a098(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005bc70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939cd8(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x120939cd8(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093a098(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939cd8(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x120939cd8(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a098(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad400((null))> id=m gr_attribs=<HashTable#0x13005bc70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939cd8(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x120939cd8(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad400((null))> id=m gr_attribs=<HashTable#0x13005bc70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093a098(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad400((null))> id=m gr_attribs=<HashTable#0x13005bc70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939cd8(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x120939cd8(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad400((null))> id=m gr_attribs=<HashTable#0x13005bc70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093a098(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad400((null))> id=m gr_attribs=<HashTable#0x13005bc70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939cd8(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x120939cd8(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093a098(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad400((null))> id=m gr_attribs=<HashTable#0x13005bc70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939cd8(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x120939cd8(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad400((null))> id=m gr_attribs=<HashTable#0x13005bc70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a098(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad400((null))> id=m gr_attribs=<HashTable#0x13005bc70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939cd8(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x120939cd8(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093a098(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939008(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x12093b600(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503acec0((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='left,expandy' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='left,expandy' nTok='s' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='s' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='48,144' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='48,144' nTok='pad_h' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [align=centerx,expandy]" tokens=<StringArray#0x120939008(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1e80((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='centerx,expandy' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='centerx,expandy' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [align=expandx,top]" tokens=<StringArray#0x12093b600(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1ec0((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,top' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,top' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [align=expandx,bottom]" tokens=<StringArray#0x120939008(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1e40((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,bottom' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,bottom' nTok=']' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  a<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["a", "<", ">", "b"])>
xxx parse line "  a<>b" tokens=<StringArray#0x12093b600(["a", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<a>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  c<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["c", "<", ">", "b"])>
xxx parse line "  c<>b" tokens=<StringArray#0x120939008(["c", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='c' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='<' prev_node=<null> prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  d<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["d", "<", ">", "b"])>
xxx parse line "  d<>b" tokens=<StringArray#0x12093b600(["d", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='d' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='<' prev_node=<null> prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939008(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503bbe40((null))> graph=<class<Graph>#0x1503ad400((null))> graph.parent_graph=<class<Graph>#0x1503bbe40((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="d"
xxx layoutFixedPlaceRowNodes: aRow=["a", " ", "b", " ", "c"]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;64)=a
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(66;64)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(68;64)=c
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "d"]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(68;65)=d
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093c528(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x120939eb8(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093c528(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x120939eb8(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093c528(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad380((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x120939eb8(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad380((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c528(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad380((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x120939eb8(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad380((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093c528(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad380((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x120939eb8(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad380((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c528(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ad380((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x120939eb8(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8f8(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x12093b8f8(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1f00((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x120939eb8(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2700((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8f8(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x12093b8f8(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2740((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x120939eb8(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b2780((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8f8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b8f8(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503bbe40((null))> graph=<class<Graph>#0x1503ad380((null))> graph.parent_graph=<class<Graph>#0x1503bbe40((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bda8(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x12093bda8(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8f8(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x12093b8f8(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093ce60(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x120939d50(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x12093c960(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x120939d28(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093b808(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939670(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x120939670(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e40(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x120939e40(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6c8(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093b6c8(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093be98(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093be98(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b880(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x12093b880(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x120939f08(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093a048(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x120939f08(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093a048(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x120939f08(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi     align=left,expandy w=48 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi     align=left,expandy w=48 pad=0] ports {" tokens=<StringArray#0x12093a048(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad200((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x120939f08(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x12093a048(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x120939f08(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a048(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005d860(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x120939f08(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad300((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x12093a048(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad1c0((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x120939f08(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad140((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x12093a048(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad100((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x120939f08(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad0c0((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x12093a048(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad180((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x120939f08(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ace00((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x12093a048(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503acd80((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x120939f08(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503acdc0((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x12093a048(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503acd40((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x120939f08(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503ad380((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c528([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503ad380((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093c528([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x12093a048(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x120939f08(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x12093a048(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x120939f08(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x12093a048(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939f08(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005c540(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [             align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [             align=left,centery pad_r=60]" tokens=<StringArray#0x12093a048(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='align' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='left,centery' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='left,centery' nTok='pad_r' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad_r' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='60' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='60' nTok=']' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x120939f08(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad240((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x12093a048(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad280((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x120939f08(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ad2c0((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x1503bbe40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bda8([["m", "m", "m", "m", "m", " ", "raster", "raster", "raster", "raster", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a048(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x120939f08(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a048(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsunit  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["zssched", "-", ">", "zsunit", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zsunit  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x120939f08(["zssched", "-", ">", "zsunit", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x12093a048(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x120939f08(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x12093a048(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x120939f08(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093a048(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x120939f08(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x12093a048(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x120939f08(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x12093a048(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x120939f08(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x12093a048(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939f08(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x120939f08(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093a048(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b7e0(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x12093b7e0(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x12093a048(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b7e0(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x12093b7e0(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093a048(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x1503b9e40((null))> line_idx=131 parse_context_stack=<PointerArray#0x12093b8a8([<@0x1503b9e40>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 75 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["m", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="m"
[trc] setCell(64;64)=m
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:m>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zsunit>(6,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.m.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .v.               |
|                  .v.               |
|...      ...      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x150459e00((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:m>(0,0) subgraph.id=m
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:m>(0,0) gw=<class<GraphForm>#0x1503b5b00((null))>
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1438;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503b6580((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x120939a58(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x120939a58(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x120939a58(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x120939a58(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093a048(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093b6f0(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093a048(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093b6f0(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093a048(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093b6f0(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093a048(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093b6f0(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093a048(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093b6f0(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093a048(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093b6f0(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093a048(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b6f0(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093a048(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093b6f0(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093a048(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093b6f0(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093a048(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093b6f0(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093a048(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093b6f0(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a048(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093b6f0(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093a048(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093b6f0(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a048(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093b6f0(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a048(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093b6f0(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093a048(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6f0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b6f0(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093a048(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c4b0(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045ad80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093a048(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c4b0(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045ad80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093a048(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045ad80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c4b0(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045ad80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093a048(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045ad80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093a610([<@0x1503b6580>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x120939a58(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093c4b0(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045ad80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x12093c4b0(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045ad80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x120939a58(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093c168(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x120939a58(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093c168(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x120939a58(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8880((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093c168(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8880((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x120939a58(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8880((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093c168(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8880((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x120939a58(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8880((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093c168(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x120939a58(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8880((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093c168(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8880((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x120939a58(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8880((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093c168(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x120939a58(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939008(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209399e0(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x1209399e0(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503acc80((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='left,expandy' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='left,expandy' nTok='s' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='s' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='48,144' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='48,144' nTok='pad_h' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [align=centerx,expandy]" tokens=<StringArray#0x120939008(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6040((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='centerx,expandy' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='centerx,expandy' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209399e0(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [align=expandx,top]" tokens=<StringArray#0x1209399e0(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6080((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,top' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,top' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [align=expandx,bottom]" tokens=<StringArray#0x120939008(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6000((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,bottom' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,bottom' nTok=']' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  a<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209399e0(["a", "<", ">", "b"])>
xxx parse line "  a<>b" tokens=<StringArray#0x1209399e0(["a", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<a>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  c<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["c", "<", ">", "b"])>
xxx parse line "  c<>b" tokens=<StringArray#0x120939008(["c", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='c' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='<' prev_node=<null> prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  d<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209399e0(["d", "<", ">", "b"])>
xxx parse line "  d<>b" tokens=<StringArray#0x1209399e0(["d", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='d' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='<' prev_node=<null> prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939008(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x15045ad80((null))> graph=<class<Graph>#0x1503a8880((null))> graph.parent_graph=<class<Graph>#0x15045ad80((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="d"
xxx layoutFixedPlaceRowNodes: aRow=["a", " ", "b", " ", "c"]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;64)=a
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(66;64)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(68;64)=c
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "d"]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(68;65)=d
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093c640(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093c640(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093c640(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8800((null))> id=l gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8800((null))> id=l gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c640(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8800((null))> id=l gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8800((null))> id=l gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093c640(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8800((null))> id=l gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8800((null))> id=l gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c640(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a8800((null))> id=l gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5b0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x12093b5b0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b60c0((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6680((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5b0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x12093b5b0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b66c0((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6700((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5b0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b5b0(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x15045ad80((null))> graph=<class<Graph>#0x1503a8800((null))> graph.parent_graph=<class<Graph>#0x15045ad80((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c88(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x120939c88(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5b0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x12093b5b0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939620(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x120939620(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x12093bd58(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c38(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x120939c38(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093c118(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093be48(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093be48(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca78(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x12093ca78(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b7e0(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x12093b7e0(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b880(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093b880(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b6c8(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093b6c8(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x12093b808(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x120939d28(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x120939d50(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x120939d28(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x120939d50(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x120939d28(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {" tokens=<StringArray#0x120939d50(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8680((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x120939d28(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x120939d50(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x120939d28(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005d0b0(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x120939d28(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8780((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x120939d50(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8640((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x120939d28(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a85c0((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x120939d50(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8580((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x120939d28(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8540((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x120939d50(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8600((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x120939d28(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8500((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x120939d50(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8480((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x120939d28(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a84c0((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x120939d50(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8440((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x120939d28(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503a8800((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c640([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503a8800((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093c640([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x120939d50(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x120939d28(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x120939d50(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x120939d28(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x120939d50(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d28(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005c570(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [             align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [             align=left,centery pad_r=60]" tokens=<StringArray#0x120939d50(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='align' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='left,centery' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='left,centery' nTok='pad_r' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad_r' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='60' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='60' nTok=']' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x120939d28(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a86c0((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x120939d50(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8700((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x120939d28(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8740((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x15045ad80((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c88([["m", "m", "m", "m", "m", " ", "raster", "raster", "raster", "raster", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x120939d50(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x120939d28(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x120939d50(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x120939d28(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zscache' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zscache' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x120939d50(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x120939d28(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x120939d50(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x120939d28(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x120939d50(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x120939d28(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x120939d50(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x120939d28(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x120939d50(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x120939d28(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x120939d50(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d28(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x120939d28(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x120939d50(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x12093ce60(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x120939d50(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x12093ce60(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x120939d50(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x1503b6580((null))> line_idx=131 parse_context_stack=<PointerArray#0x12093a610([<@0x1503b6580>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 75 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["m", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="m"
[trc] setCell(64;64)=m
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:m>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zscache>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zscache>(3,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.m.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|...      .v.      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[pro] GraphForm::reloadFile: processGRFile() took 79 ms
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x1503b0040((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:m>(0,0) subgraph.id=m
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:m>(0,0) gw=<class<GraphForm>#0x1503b98c0((null))>
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 2 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 1 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[pro] GraphForm::reloadFile: LayoutRootLayer() took 45 ms
[pro] GraphForm::reloadFile: LEAVE. total = 124 ms
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1438;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503ba040((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093a048(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093a048(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093a048(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093a048(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x120939d50(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093b8a8(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x120939d50(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093b8a8(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x120939d50(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093b8a8(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x120939d50(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093b8a8(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x120939d50(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093b8a8(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x120939d50(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093b8a8(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x120939d50(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b8a8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x120939d50(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093b8a8(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x120939d50(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093b8a8(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x120939d50(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093b8a8(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x120939d50(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093b8a8(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093b8a8(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x120939d50(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093b8a8(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x120939d50(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093b8a8(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093b8a8(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x120939d50(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b8a8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x120939d50(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x120939c10(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b9e40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x120939d50(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x120939c10(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b9e40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x120939d50(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b9e40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x120939c10(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b9e40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x120939d50(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b9e40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093b100([<@0x1503ba040>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093a048(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x120939c10(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x12093a048(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b9e40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x120939c10(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b9e40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093a048(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093a098(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093a048(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093a098(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a048(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a9940((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093a098(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a9940((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093a048(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a9940((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093a098(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a9940((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093a048(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a9940((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093a098(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093a048(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a9940((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093a098(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a9940((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a048(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a9940((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093a098(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a048(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093a048(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939008(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x12093c078(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a8380((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='sbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='sbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='sbi' table_layout_rows=<PointerArray#0x12093a098([["a", " ", "b", " ", "c"], ["a", " ", "b", " ", "d"]])>
xxx renameNode: id='a' newId='sbi' orig_graph=<class<Graph>#0x1503a9940((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a098([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='s' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='s' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48,144' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48,144' nTok='pad_h' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_h' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [id=reg  align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [id=reg  align=centerx,expandy]" tokens=<StringArray#0x120939008(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5c80((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='reg' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='reg' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='reg' table_layout_rows=<PointerArray#0x12093a098([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode: id='b' newId='reg' orig_graph=<class<Graph>#0x1503a9940((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a098([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='centerx,expandy' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='centerx,expandy' nTok=']' prev_node=<reg>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<reg>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [id=ctl  align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [id=ctl  align=expandx,top]" tokens=<StringArray#0x12093c078(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5cc0((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='ctl' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='ctl' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='ctl' table_layout_rows=<PointerArray#0x12093a098([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='c' newId='ctl' orig_graph=<class<Graph>#0x1503a9940((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a098([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,top' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,top' nTok=']' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [id=dma  align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [id=dma  align=expandx,bottom]" tokens=<StringArray#0x120939008(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5c40((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dma' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dma' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='dma' table_layout_rows=<PointerArray#0x12093a098([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='d' newId='dma' orig_graph=<class<Graph>#0x1503a9940((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a098([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,bottom' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,bottom' nTok=']' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  sbi <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["sbi", "<", ">", "reg"])>
xxx parse line "  sbi <> reg" tokens=<StringArray#0x12093c078(["sbi", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='sbi' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  ctl <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["ctl", "<", ">", "reg"])>
xxx parse line "  ctl <> reg" tokens=<StringArray#0x120939008(["ctl", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='ctl' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ctl' nTok='<' prev_node=<null> prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  dma <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["dma", "<", ">", "reg"])>
xxx parse line "  dma <> reg" tokens=<StringArray#0x12093c078(["dma", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='dma' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dma' nTok='<' prev_node=<null> prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<dma>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939008(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<reg>(?,?) prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503b9e40((null))> graph=<class<Graph>#0x1503a9940((null))> graph.parent_graph=<class<Graph>#0x1503b9e40((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="ctl"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="dma"
xxx layoutFixedPlaceRowNodes: aRow=["sbi", " ", "reg", " ", "ctl"]
xxx layoutFixedPlaceRowNodes: sId="sbi"
[trc] setCell(64;64)=sbi
xxx layoutFixedPlaceRowNodes: sId="reg"
[trc] setCell(66;64)=reg
xxx layoutFixedPlaceRowNodes: sId="ctl"
[trc] setCell(68;64)=ctl
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "dma"]
xxx layoutFixedPlaceRowNodes: sId="dma"
[trc] setCell(68;65)=dma
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093c9d8(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x120939eb8(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093c9d8(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x120939eb8(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093c9d8(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a98c0((null))> id=l gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x120939eb8(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a98c0((null))> id=l gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c9d8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a98c0((null))> id=l gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x120939eb8(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a98c0((null))> id=l gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093c9d8(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a98c0((null))> id=l gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x120939eb8(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a98c0((null))> id=l gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c9d8(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a98c0((null))> id=l gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x120939eb8(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bfd8(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x12093bfd8(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5d00((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x120939eb8(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6500((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bfd8(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x12093bfd8(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6540((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939eb8(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x120939eb8(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6580((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bfd8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093bfd8(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503b9e40((null))> graph=<class<Graph>#0x1503a98c0((null))> graph.parent_graph=<class<Graph>#0x1503b9e40((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093be20(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x12093be20(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bfd8(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x12093bfd8(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093c960(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e40(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x120939e40(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bda8(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x12093bda8(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cac8(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093cac8(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c0a0(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093c0a0(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x12093a0e8(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce60(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x12093ce60(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093b808(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b880(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093b880(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093be48(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x12093be48(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x12093c118(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093bd58(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x12093c118(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093bd58(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093c118(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {" tokens=<StringArray#0x12093bd58(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9740((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x12093c118(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x12093bd58(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x12093c118(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093bd58(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005d620(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x12093c118(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9840((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x12093bd58(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9700((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x12093c118(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9680((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x12093bd58(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9640((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x12093c118(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9600((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x12093bd58(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a96c0((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x12093c118(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a95c0((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x12093bd58(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9540((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x12093c118(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9580((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x12093bd58(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9500((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x12093c118(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503a98c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c9d8([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503a98c0((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093c9d8([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x12093bd58(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x12093c118(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x12093bd58(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x12093c118(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x12093bd58(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c118(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005bd90(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [             align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [             align=left,centery pad_r=60]" tokens=<StringArray#0x12093bd58(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='align' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='left,centery' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='left,centery' nTok='pad_r' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad_r' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='60' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='60' nTok=']' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x12093c118(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9780((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x12093bd58(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a97c0((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x12093c118(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9800((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x1503b9e40((null))> orig_graph.table_layout_rows=<PointerArray#0x12093be20([["m", "m", "m", "m", "m", " ", "raster", "raster", "raster", "raster", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x12093bd58(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093c118(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093bd58(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x12093c118(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zscache' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zscache' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x12093bd58(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x12093c118(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x12093bd58(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x12093c118(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093bd58(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x12093c118(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x12093bd58(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x12093c118(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x12093bd58(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x12093c118(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x12093bd58(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c118(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x12093c118(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093bd58(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939620(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x120939620(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x12093bd58(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939620(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x120939620(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093bd58(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x1503ba040((null))> line_idx=131 parse_context_stack=<PointerArray#0x12093b100([<@0x1503ba040>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 79 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["m", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="m"
[trc] setCell(64;64)=m
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:m>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zscache>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zscache>(3,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.m.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|...      .v.      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[pro] GraphForm::reloadFile: processGRFile() took 85 ms
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x1503b09c0((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:m>(0,0) subgraph.id=m
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:m>(0,0) gw=<class<GraphForm>#0x150476cc0((null))>
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 1 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[pro] GraphForm::reloadFile: LayoutRootLayer() took 45 ms
[pro] GraphForm::reloadFile: LEAVE. total = 130 ms
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1438;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38c.gr")
xxx Graph::buildPathname: newPathname="gr/test38c.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38c.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503b01c0((null))> name="gr/test38c.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel debug 2"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=44
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x120939d50(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x120939d50(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x120939d50(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x120939d50(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093bd58(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093a610(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093bd58(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093a610(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093bd58(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093a610(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093bd58(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093a610(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093bd58(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093a610(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093bd58(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093a610(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093bd58(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a610(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093bd58(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093a610(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093bd58(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093a610(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093bd58(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093a610(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093bd58(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093a610(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093bd58(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093a610(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093bd58(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a610(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093bd58(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093a610(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093bd58(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093a610(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093bd58(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a610(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093bd58(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c528(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b6580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093bd58(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c528(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b6580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093bd58(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b6580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c528(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b6580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093bd58(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b6580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093c820([<@0x1503b01c0>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x120939d50(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=44
xxx GRParseContext: beginLine: cur_line=" row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["row_padding", "=", "0"])>
xxx parse line " row_padding=0" tokens=<StringArray#0x12093c528(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b6580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=44
xxx GRParseContext: beginLine: cur_line=" col_padding=8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["col_padding", "=", "8"])>
xxx parse line " col_padding=8" tokens=<StringArray#0x120939d50(["col_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b6580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=44
xxx GRParseContext: beginLine: cur_line="ipad=12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["ipad", "=", "12"])>
xxx parse line "ipad=12" tokens=<StringArray#0x12093c528(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b6580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=44
xxx GRParseContext: beginLine: cur_line="flatten=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["flatten", "=", "0"])>
xxx parse line "flatten=0" tokens=<StringArray#0x120939d50(["flatten", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='flatten' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b6580((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "flatten"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=44
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093c528(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="8", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=44
xxx GRParseContext: beginLine: cur_line="  layout=fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["layout", "=", "fixed"])>
xxx parse line "  layout=fixed" tokens=<StringArray#0x120939a58(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=44
xxx GRParseContext: beginLine: cur_line="  zero_margin = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin = true" tokens=<StringArray#0x12093c528(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=44
xxx GRParseContext: beginLine: cur_line="  unfold = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["unfold", "=", "false"])>
xxx parse line "  unfold = false" tokens=<StringArray#0x120939a58(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=44
xxx GRParseContext: beginLine: cur_line="  row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["row_padding", "=", "0"])>
xxx parse line "  row_padding=0" tokens=<StringArray#0x12093c528(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503aaa00((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="8", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=44
xxx GRParseContext: beginLine: cur_line="  col_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parse line "  col_padding=0" tokens=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503aaa00((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=44
xxx GRParseContext: beginLine: cur_line="  border_width=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["border_width", "=", "0"])>
xxx parse line "  border_width=0" tokens=<StringArray#0x12093c528(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503aaa00((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=44
xxx GRParseContext: beginLine: cur_line="  pad = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["pad", "=", "0"])>
xxx parse line "  pad = 0" tokens=<StringArray#0x120939a58(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503aaa00((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=44
xxx GRParseContext: beginLine: cur_line="  bgcolor=#f00"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["bgcolor", "=", "#f00"])>
xxx parse line "  bgcolor=#f00" tokens=<StringArray#0x12093c528(["bgcolor", "=", "#f00"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f00' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f00' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503aaa00((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00ff0000", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=44
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x120939a58(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=44
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [font=small]  // sgx=shcore"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["S", "Shader Core 0", "[", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [font=small]  " tokens=<StringArray#0x1209395d0(["S", "Shader Core 0", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503a9440((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=44
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["T", "Shader Core 1", "[", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [font=small]" tokens=<StringArray#0x120939a58(["T", "Shader Core 1", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5880((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=44
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["U", "Shader Core 2", "[", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [font=small]" tokens=<StringArray#0x1209395d0(["U", "Shader Core 2", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b58c0((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=44
xxx GRParseContext: beginLine: cur_line="  V "..."           [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["V", "...", "[", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [font=small]" tokens=<StringArray#0x120939a58(["V", "...", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5900((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=44
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["}"])>
xxx parse line "}" tokens=<StringArray#0x1209395d0(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503b6580((null))> graph=<class<Graph>#0x1503aaa00((null))> graph.parent_graph=<class<Graph>#0x1503b6580((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=44
xxx GRParseContext: beginLine: cur_line="row="eeeeg";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bdd0(["row", "=", "eeeeg", ";"])>
xxx parse line "row="eeeeg";" tokens=<StringArray#0x12093bdd0(["row", "=", "eeeeg", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='eeeeg' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='eeeeg' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="eeeeg"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffffh";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b510(["row", "=", "ffffh", ";"])>
xxx parse line "row="ffffh";" tokens=<StringArray#0x12093b510(["row", "=", "ffffh", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffffh' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffffh' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffffh"
xxx addLayoutRow: add implicit node 'f'
xxx addLayoutRow: add implicit node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093c640(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093ca28(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=44
xxx GRParseContext: beginLine: cur_line="row="llll ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["row", "=", "llll ", ";"])>
xxx parse line "row="llll ";" tokens=<StringArray#0x12093c078(["row", "=", "llll ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='llll ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='llll ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="llll "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=44
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093a098(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=44
xxx GRParseContext: beginLine: cur_line="e "Address Encoder" [pad=0 align=center]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["e", "Address Encoder", "[", "pad", "=", "0", "align", "=", "center", "]"])>
xxx parse line "e "Address Encoder" [pad=0 align=center]" tokens=<StringArray#0x12093c078(["e", "Address Encoder", "[", "pad", "=", "0", "align", "=", "center", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aa940((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='align' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='center' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='center' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=44
xxx GRParseContext: beginLine: cur_line="f "Dispatcher" [h=75% pad=0 align=right]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parse line "f "Dispatcher" [h=75% pad=0 align=right]" tokens=<StringArray#0x12093a098(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aa980((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='75%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='75%' nTok='pad' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok='align' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='align' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='right' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='right' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=44
xxx GRParseContext: beginLine: cur_line="g "Fast Clear" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parse line "g "Fast Clear" [pad=0]" tokens=<StringArray#0x12093c078(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aa900((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<g>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=44
xxx GRParseContext: beginLine: cur_line="h [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["h", "[", "pad", "=", "0", "]"])>
xxx parse line "h [pad=0]" tokens=<StringArray#0x12093a098(["h", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=44
xxx GRParseContext: beginLine: cur_line="l [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["l", "[", "pad", "=", "0", "]"])>
xxx parse line "l [pad=0]" tokens=<StringArray#0x12093c078(["l", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=44
xxx GRParseContext: beginLine: cur_line="e->f "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["e", "-", ">", "f", "Stamp"])>
xxx parse line "e->f "Stamp"" tokens=<StringArray#0x12093a098(["e", "-", ">", "f", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Stamp' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=44
xxx GRParseContext: beginLine: cur_line="e->g"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["e", "-", ">", "g"])>
xxx parse line "e->g" tokens=<StringArray#0x12093c078(["e", "-", ">", "g"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='e' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=44
xxx popParseContext cur=<class<GRParseContext>#0x1503b01c0((null))> line_idx=44 parse_context_stack=<PointerArray#0x12093c820([<@0x1503b01c0>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 51 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=5 gridH=5
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell="l"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell="l" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["e", "", "", "", "g"]
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(64;64)=e
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(68;64)=g
xxx layoutFixedPlaceRowNodes: aRow=["f", "", "", "", "h"]
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(64;65)=f
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(68;65)=h
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["l", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: sId="l"
[trc] setCell(64;68)=l
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;68) sz=(5x5)
[trc] debugPrintNodes: n[0] = <graph:l>(0,4) label="l" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[1] = <e>(0,0) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <g>(4,0) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[3] = <f>(0,1) label="Dispatcher" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="right", "shape_round_amount"="20%", "pad"="0", "h"="75%"]
[trc] debugPrintNodes: n[4] = <h>(4,1) label="h" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintEdges: e[0] = edge<tail<e>(0,0) head<f>(0,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<e>(0,0) head<g>(4,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 1 ms
[trc] draw edge: tail<<e>(0,0) => head<f>(0,1) style=normal
[trc] draw edge: tail<<e>(0,0) => head<g>(4,0) style=normal
main[5x5]=
 _______________ 
|...         ...|
|.e>>>>>>>>>>>g.|
|.v.         ...|
|.v.         ...|
|.f.         .h.|
|...         ...|
|               |
|               |
|               |
|               |
|               |
|               |
|...            |
|.l.            |
|...            |
 --------------- 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:l>(0,4) subgraph.id=l
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:l>(0,4) gw=<class<GraphForm>#0x150331580((null))>
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;665;149)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503b0a80((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093bd58(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093bd58(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093bd58(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093bd58(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093c078(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093b100(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093c078(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093b100(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093c078(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093b100(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093c078(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093b100(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093c078(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093b100(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093c078(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093b100(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093c078(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b100(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093c078(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093b100(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093c078(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093b100(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093c078(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093b100(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093c078(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093b100(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c078(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093b100(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093c078(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093b100(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c078(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093b100(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c078(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093b100(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093c078(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b100(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b100(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093c078(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093bd80(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ba040((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093c078(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093bd80(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ba040((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093c078(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ba040((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093bd80(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ba040((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093c078(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ba040((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x120939788([<@0x1503b0a80>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093bd58(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093bd80(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x12093bd58(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ba040((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x12093bd80(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ba040((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093bd58(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093c9d8(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093bd58(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093c9d8(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093bd58(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0c00((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093c9d8(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0c00((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093bd58(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0c00((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093c9d8(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0c00((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093bd58(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0c00((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093c9d8(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093bd58(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0c00((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093c9d8(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0c00((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093bd58(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0c00((null))> id=m gr_attribs=<HashTable#0x13005c5a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093c9d8(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093bd58(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x12093b5d8(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aa840((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='sbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='sbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='sbi' table_layout_rows=<PointerArray#0x12093c9d8([["a", " ", "b", " ", "c"], ["a", " ", "b", " ", "d"]])>
xxx renameNode: id='a' newId='sbi' orig_graph=<class<Graph>#0x1503e0c00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c9d8([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='s' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='s' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48,144' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48,144' nTok='pad_h' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_h' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [id=reg  align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [id=reg  align=centerx,expandy]" tokens=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b11c0((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='reg' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='reg' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='reg' table_layout_rows=<PointerArray#0x12093c9d8([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode: id='b' newId='reg' orig_graph=<class<Graph>#0x1503e0c00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c9d8([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='centerx,expandy' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='centerx,expandy' nTok=']' prev_node=<reg>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<reg>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [id=ctl  align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [id=ctl  align=expandx,top]" tokens=<StringArray#0x12093b5d8(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1200((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='ctl' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='ctl' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='ctl' table_layout_rows=<PointerArray#0x12093c9d8([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='c' newId='ctl' orig_graph=<class<Graph>#0x1503e0c00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c9d8([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,top' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,top' nTok=']' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [id=dma  align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [id=dma  align=expandx,bottom]" tokens=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1180((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dma' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dma' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='dma' table_layout_rows=<PointerArray#0x12093c9d8([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='d' newId='dma' orig_graph=<class<Graph>#0x1503e0c00((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c9d8([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,bottom' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,bottom' nTok=']' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  sbi <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["sbi", "<", ">", "reg"])>
xxx parse line "  sbi <> reg" tokens=<StringArray#0x12093b5d8(["sbi", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='sbi' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  ctl <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parse line "  ctl <> reg" tokens=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='ctl' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ctl' nTok='<' prev_node=<null> prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  dma <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["dma", "<", ">", "reg"])>
xxx parse line "  dma <> reg" tokens=<StringArray#0x12093b5d8(["dma", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='dma' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dma' nTok='<' prev_node=<null> prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<dma>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<reg>(?,?) prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503ba040((null))> graph=<class<Graph>#0x1503e0c00((null))> graph.parent_graph=<class<Graph>#0x1503ba040((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="ctl"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="dma"
xxx layoutFixedPlaceRowNodes: aRow=["sbi", " ", "reg", " ", "ctl"]
xxx layoutFixedPlaceRowNodes: sId="sbi"
[trc] setCell(64;64)=sbi
xxx layoutFixedPlaceRowNodes: sId="reg"
[trc] setCell(66;64)=reg
xxx layoutFixedPlaceRowNodes: sId="ctl"
[trc] setCell(68;64)=ctl
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "dma"]
xxx layoutFixedPlaceRowNodes: sId="dma"
[trc] setCell(68;65)=dma
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093c4b0(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093c4b0(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093c4b0(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0b80((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0b80((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c4b0(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0b80((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0b80((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093c4b0(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0b80((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0b80((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c4b0(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e0b80((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a80(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x120939a80(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1240((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1680((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a80(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x120939a80(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b16c0((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b1700((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a80(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939a80(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503ba040((null))> graph=<class<Graph>#0x1503e0b80((null))> graph.parent_graph=<class<Graph>#0x1503ba040((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x12093b600(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a80(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x120939a80(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093a7f0(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x12093ab10(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c758(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x12093c758(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x120939918(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398c8(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x1209398c8(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x12093b8a8(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x12093c960(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bda8(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093bda8(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c0a0(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093c0a0(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395f8(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x1209395f8(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x12093a6d8(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093a700(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x12093a6d8(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093a700(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093a6d8(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {" tokens=<StringArray#0x12093a700(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0a00((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x12093a6d8(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x12093a700(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x12093a6d8(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a700(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005be20(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x12093a6d8(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0b00((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x12093a700(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e09c0((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x12093a6d8(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0940((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x12093a700(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0900((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x12093a6d8(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e08c0((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x12093a700(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0980((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x12093a6d8(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0880((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x12093a700(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0800((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x12093a6d8(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0840((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x12093a700(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e07c0((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x12093a6d8(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503e0b80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c4b0([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503e0b80((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093c4b0([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x12093a700(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x12093a6d8(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x12093a700(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x12093a6d8(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x12093a700(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a6d8(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005c1b0(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [             align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [             align=left,centery pad_r=60]" tokens=<StringArray#0x12093a700(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='align' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='left,centery' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='left,centery' nTok='pad_r' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad_r' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='60' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='60' nTok=']' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x12093a6d8(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0a40((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x12093a700(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0a80((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x12093a6d8(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0ac0((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x1503ba040((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b600([["m", "m", "m", "m", "m", " ", "raster", "raster", "raster", "raster", " ", " "], ["m", "m", "m", "m", "m", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["m", "m", "m", "m", "m", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a700(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a6d8(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a700(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x12093a6d8(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zscache' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zscache' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x12093a700(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x12093a6d8(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x12093a700(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x12093a6d8(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093a700(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x12093a6d8(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x12093a700(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x12093a6d8(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x12093a700(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x12093a6d8(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x12093a700(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x12093a6d8(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093a700(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x1209395a8(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x12093a700(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x1209395a8(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093a700(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x1503b0a80((null))> line_idx=131 parse_context_stack=<PointerArray#0x120939788([<@0x1503b0a80>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 80 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["m", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="m"
[trc] setCell(64;64)=m
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:m>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zscache>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zscache>(3,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.m.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|...      .v.      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x15045be80((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:m>(0,0) subgraph.id=m
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:m>(0,0) gw=<class<GraphForm>#0x15046c640((null))>
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1438;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503a81c0((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093c078(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093c078(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093c078(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093c078(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093a700(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093c820(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093a700(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093c820(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093a700(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093c820(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093a700(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093c820(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093a700(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093c820(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093a700(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093c820(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093a700(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c820(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093a700(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093c820(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093a700(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093c820(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093a700(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093c820(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093a700(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093c820(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a700(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093c820(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093a700(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c820(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a700(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093c820(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a700(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093c820(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093a700(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c820(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c820(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093a700(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x1209395d0(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b01c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093a700(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x1209395d0(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b01c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093a700(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b01c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x1209395d0(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b01c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093a700(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b01c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093c5c8([<@0x1503a81c0>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093c078(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x1209395d0(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x12093c078(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b01c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x1209395d0(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b01c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093c078(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bdd0(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093bdd0(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093c078(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bdd0(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093bdd0(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c078(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac100((null))> id=m gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bdd0(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093bdd0(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac100((null))> id=m gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093c078(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac100((null))> id=m gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bdd0(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093bdd0(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac100((null))> id=m gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093c078(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac100((null))> id=m gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bdd0(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093bdd0(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093c078(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac100((null))> id=m gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bdd0(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093bdd0(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac100((null))> id=m gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c078(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac100((null))> id=m gr_attribs=<HashTable#0x13005da40(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bdd0(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093bdd0(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093c078(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x120939008(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0700((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='sbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='sbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='sbi' table_layout_rows=<PointerArray#0x12093bdd0([["a", " ", "b", " ", "c"], ["a", " ", "b", " ", "d"]])>
xxx renameNode: id='a' newId='sbi' orig_graph=<class<Graph>#0x1503ac100((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bdd0([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='s' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='s' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48,144' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48,144' nTok='pad_h' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_h' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [id=reg  align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [id=reg  align=centerx,expandy]" tokens=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5740((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='reg' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='reg' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='reg' table_layout_rows=<PointerArray#0x12093bdd0([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode: id='b' newId='reg' orig_graph=<class<Graph>#0x1503ac100((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bdd0([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='centerx,expandy' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='centerx,expandy' nTok=']' prev_node=<reg>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<reg>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [id=ctl  align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [id=ctl  align=expandx,top]" tokens=<StringArray#0x120939008(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5780((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='ctl' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='ctl' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='ctl' table_layout_rows=<PointerArray#0x12093bdd0([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='c' newId='ctl' orig_graph=<class<Graph>#0x1503ac100((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bdd0([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,top' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,top' nTok=']' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [id=dma  align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [id=dma  align=expandx,bottom]" tokens=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5700((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dma' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dma' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='dma' table_layout_rows=<PointerArray#0x12093bdd0([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='d' newId='dma' orig_graph=<class<Graph>#0x1503ac100((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bdd0([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,bottom' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,bottom' nTok=']' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  sbi <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["sbi", "<", ">", "reg"])>
xxx parse line "  sbi <> reg" tokens=<StringArray#0x120939008(["sbi", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='sbi' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  ctl <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parse line "  ctl <> reg" tokens=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='ctl' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ctl' nTok='<' prev_node=<null> prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  dma <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["dma", "<", ">", "reg"])>
xxx parse line "  dma <> reg" tokens=<StringArray#0x120939008(["dma", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='dma' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dma' nTok='<' prev_node=<null> prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<dma>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<reg>(?,?) prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503b01c0((null))> graph=<class<Graph>#0x1503ac100((null))> graph.parent_graph=<class<Graph>#0x1503b01c0((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="ctl"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="dma"
xxx layoutFixedPlaceRowNodes: aRow=["sbi", " ", "reg", " ", "ctl"]
xxx layoutFixedPlaceRowNodes: sId="sbi"
[trc] setCell(64;64)=sbi
xxx layoutFixedPlaceRowNodes: sId="reg"
[trc] setCell(66;64)=reg
xxx layoutFixedPlaceRowNodes: sId="ctl"
[trc] setCell(68;64)=ctl
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "dma"]
xxx layoutFixedPlaceRowNodes: sId="dma"
[trc] setCell(68;65)=dma
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093a098(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x120939a58(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093a098(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x120939a58(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093a098(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac080((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac080((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a098(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac080((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x120939a58(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac080((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093a098(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac080((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x120939a58(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac080((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a098(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ac080((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x120939a58(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939940(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x120939940(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b57c0((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x120939a58(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6380((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939940(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x120939940(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b63c0((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x120939a58(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6400((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939940(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939940(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503b01c0((null))> graph=<class<Graph>#0x1503ac080((null))> graph.parent_graph=<class<Graph>#0x1503b01c0((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a020(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x12093a020(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939940(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x120939940(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093a638(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x12093a0e8(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e40(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x120939e40(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x120939800(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a408(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093a408(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c7a8(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x12093c7a8(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x1209395a8(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395f8(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x1209395f8(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bda8(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093bda8(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398c8(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x1209398c8(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x120939918(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093ab10(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x120939918(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093ab10(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x120939918(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {" tokens=<StringArray#0x12093ab10(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abf00((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x120939918(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x12093ab10(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x120939918(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ab10(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005d410(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x120939918(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ac000((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x12093ab10(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abec0((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x120939918(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abe40((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x12093ab10(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abe00((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x120939918(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abdc0((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x12093ab10(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abe80((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x120939918(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abd80((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x12093ab10(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aad00((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x120939918(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abd40((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x12093ab10(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aacc0((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x120939918(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503ac080((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a098([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503ac080((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093a098([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x12093ab10(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x120939918(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x12093ab10(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x120939918(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x12093ab10(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939918(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005c2a0(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [id=topgraph  align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [id=topgraph  align=left,centery pad_r=60]" tokens=<StringArray#0x12093ab10(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='topgraph' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='topgraph' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='m' newId='topgraph' table_layout_rows=<PointerArray#0x12093a020([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='m' newId='topgraph' orig_graph=<class<Graph>#0x1503ac100((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bdd0([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503ac100((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093bdd0([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='align' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='left,centery' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='left,centery' nTok='pad_r' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='pad_r' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='60' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='60' nTok=']' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x120939918(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abf40((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x12093a020([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x12093ab10(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abf80((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x12093a020([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x120939918(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503abfc0((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x12093a020([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x1503b01c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a020([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "raster", "raster", "raster", "raster", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x12093ab10(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x120939918(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093ab10(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x120939918(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zscache' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zscache' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x12093ab10(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x120939918(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x12093ab10(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x120939918(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093ab10(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x120939918(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x12093ab10(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x120939918(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x12093ab10(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x120939918(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x12093ab10(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939918(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x120939918(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093ab10(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x12093a7f0(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x12093ab10(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x12093a7f0(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093ab10(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x1503a81c0((null))> line_idx=131 parse_context_stack=<PointerArray#0x12093c5c8([<@0x1503a81c0>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 78 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["topgraph", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="topgraph"
[trc] setCell(64;64)=topgraph
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:topgraph>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zscache>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zscache>(3,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.t.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|...      .v.      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[pro] GraphForm::reloadFile: processGRFile() took 83 ms
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x1503a8640((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:topgraph>(0,0) subgraph.id=topgraph
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:topgraph>(0,0) gw=<class<GraphForm>#0x1503a9500((null))>
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
topgraph[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[pro] GraphForm::reloadFile: LayoutRootLayer() took 45 ms
[pro] GraphForm::reloadFile: LEAVE. total = 128 ms
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1438;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x15045c200((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093a700(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093a700(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093a700(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093a700(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093ab10(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x120939788(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093ab10(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x120939788(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093ab10(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x120939788(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093ab10(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x120939788(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093ab10(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x120939788(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093ab10(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x120939788(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093ab10(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939788(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093ab10(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["def"])>
xxx parse line "  def" tokens=<StringArray#0x120939788(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093ab10(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x120939788(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093ab10(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x120939788(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093ab10(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x120939788(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ab10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x120939788(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093ab10(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x120939788(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093ab10(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x120939788(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ab10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x120939788(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093ab10(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939788(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939788(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093ab10(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c528(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0a80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093ab10(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c528(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0a80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093ab10(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0a80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c528(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0a80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093ab10(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0a80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093bd30([<@0x15045c200>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093a700(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093c528(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x12093a700(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0a80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x12093c528(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503b0a80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093a700(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005bdc0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093bd58(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093a700(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093bd58(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a700(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae180((null))> id=m gr_attribs=<HashTable#0x13005bdc0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093bd58(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae180((null))> id=m gr_attribs=<HashTable#0x13005bdc0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093a700(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae180((null))> id=m gr_attribs=<HashTable#0x13005bdc0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093bd58(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae180((null))> id=m gr_attribs=<HashTable#0x13005bdc0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093a700(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae180((null))> id=m gr_attribs=<HashTable#0x13005bdc0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093bd58(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093a700(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae180((null))> id=m gr_attribs=<HashTable#0x13005bdc0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093bd58(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae180((null))> id=m gr_attribs=<HashTable#0x13005bdc0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a700(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae180((null))> id=m gr_attribs=<HashTable#0x13005bdc0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093bd58(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093a700(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x12093a610(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aac00((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='sbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='sbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='sbi' table_layout_rows=<PointerArray#0x12093bd58([["a", " ", "b", " ", "c"], ["a", " ", "b", " ", "d"]])>
xxx renameNode: id='a' newId='sbi' orig_graph=<class<Graph>#0x1503ae180((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bd58([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='s' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='s' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48,144' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48,144' nTok='pad_h' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_h' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [id=reg  align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [id=reg  align=centerx,expandy]" tokens=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5380((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='reg' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='reg' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='reg' table_layout_rows=<PointerArray#0x12093bd58([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode: id='b' newId='reg' orig_graph=<class<Graph>#0x1503ae180((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bd58([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='centerx,expandy' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='centerx,expandy' nTok=']' prev_node=<reg>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<reg>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [id=ctl  align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [id=ctl  align=expandx,top]" tokens=<StringArray#0x12093a610(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b53c0((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='ctl' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='ctl' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='ctl' table_layout_rows=<PointerArray#0x12093bd58([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='c' newId='ctl' orig_graph=<class<Graph>#0x1503ae180((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bd58([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,top' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,top' nTok=']' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [id=dma  align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [id=dma  align=expandx,bottom]" tokens=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5340((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dma' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dma' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='dma' table_layout_rows=<PointerArray#0x12093bd58([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='d' newId='dma' orig_graph=<class<Graph>#0x1503ae180((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bd58([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,bottom' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,bottom' nTok=']' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  sbi <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["sbi", "<", ">", "reg"])>
xxx parse line "  sbi <> reg" tokens=<StringArray#0x12093a610(["sbi", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='sbi' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  ctl <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parse line "  ctl <> reg" tokens=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='ctl' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ctl' nTok='<' prev_node=<null> prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  dma <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["dma", "<", ">", "reg"])>
xxx parse line "  dma <> reg" tokens=<StringArray#0x12093a610(["dma", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='dma' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dma' nTok='<' prev_node=<null> prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<dma>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<reg>(?,?) prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503b0a80((null))> graph=<class<Graph>#0x1503ae180((null))> graph.parent_graph=<class<Graph>#0x1503b0a80((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="ctl"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="dma"
xxx layoutFixedPlaceRowNodes: aRow=["sbi", " ", "reg", " ", "ctl"]
xxx layoutFixedPlaceRowNodes: sId="sbi"
[trc] setCell(64;64)=sbi
xxx layoutFixedPlaceRowNodes: sId="reg"
[trc] setCell(66;64)=reg
xxx layoutFixedPlaceRowNodes: sId="ctl"
[trc] setCell(68;64)=ctl
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "dma"]
xxx layoutFixedPlaceRowNodes: sId="dma"
[trc] setCell(68;65)=dma
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093c168(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005b700(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093c168(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093c168(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae100((null))> id=l gr_attribs=<HashTable#0x13005b700(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae100((null))> id=l gr_attribs=<HashTable#0x13005b700(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c168(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae100((null))> id=l gr_attribs=<HashTable#0x13005b700(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae100((null))> id=l gr_attribs=<HashTable#0x13005b700(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093c168(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae100((null))> id=l gr_attribs=<HashTable#0x13005b700(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae100((null))> id=l gr_attribs=<HashTable#0x13005b700(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c168(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503ae100((null))> id=l gr_attribs=<HashTable#0x13005b700(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x12093c438(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5400((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5e40((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x12093c438(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5e80((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5ec0((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c438(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503b0a80((null))> graph=<class<Graph>#0x1503ae100((null))> graph.parent_graph=<class<Graph>#0x1503b0a80((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caa0(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x12093caa0(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c438(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x12093c438(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c758(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093c758(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x12093c960(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x12093b600(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093a930(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c7f8(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093c7f8(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cac8(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x12093cac8(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x12093a7f0(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398c8(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x1209398c8(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395f8(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x1209395f8(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a408(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x12093a408(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x120939800(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093a0e8(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x120939800(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093a0e8(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x120939800(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi       align=left,expandy w=32 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "32", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi       align=left,expandy w=32 pad=0] ports {" tokens=<StringArray#0x12093a0e8(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "32", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503adf80((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='32' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='32' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="32"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x120939800(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x12093a0e8(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x120939800(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a0e8(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005ba60(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="32", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x120939800(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ae080((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x12093a0e8(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503adf40((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x120939800(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503adec0((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x12093a0e8(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ade80((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x120939800(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ade40((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x12093a0e8(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503adf00((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x120939800(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ade00((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x12093a0e8(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503add80((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x120939800(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503addc0((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x12093a0e8(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503add40((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x120939800(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503ae100((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c168([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503ae100((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093c168([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x12093a0e8(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x120939800(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x12093a0e8(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x120939800(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x12093a0e8(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939800(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005daa0(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [id=topgraph  align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [id=topgraph  align=left,centery pad_r=60]" tokens=<StringArray#0x12093a0e8(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='topgraph' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='topgraph' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='m' newId='topgraph' table_layout_rows=<PointerArray#0x12093caa0([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='m' newId='topgraph' orig_graph=<class<Graph>#0x1503ae180((null))> orig_graph.table_layout_rows=<PointerArray#0x12093bd58([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503ae180((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093bd58([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='align' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='left,centery' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='left,centery' nTok='pad_r' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='pad_r' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='60' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='60' nTok=']' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x120939800(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503adfc0((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x12093caa0([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x12093a0e8(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ae000((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x12093caa0([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x120939800(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503ae040((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x12093caa0([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x1503b0a80((null))> orig_graph.table_layout_rows=<PointerArray#0x12093caa0([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "raster", "raster", "raster", "raster", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a0e8(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x120939800(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a0e8(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x120939800(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zscache' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zscache' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x12093a0e8(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x120939800(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x12093a0e8(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x120939800(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093a0e8(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x120939800(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x12093a0e8(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x120939800(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x12093a0e8(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x120939800(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x12093a0e8(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939800(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x120939800(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093a0e8(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x12093a638(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x12093a0e8(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x12093a638(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093a0e8(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x15045c200((null))> line_idx=131 parse_context_stack=<PointerArray#0x12093bd30([<@0x15045c200>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 78 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["topgraph", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="topgraph"
[trc] setCell(64;64)=topgraph
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:topgraph>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="32", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zscache>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zscache>(3,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.t.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|...      .v.      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[pro] GraphForm::reloadFile: processGRFile() took 84 ms
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x150331680((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:topgraph>(0,0) subgraph.id=topgraph
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:topgraph>(0,0) gw=<class<GraphForm>#0x1504814c0((null))>
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
topgraph[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 1 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[pro] GraphForm::reloadFile: LayoutRootLayer() took 45 ms
[pro] GraphForm::reloadFile: LEAVE. total = 129 ms
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1436;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503a83c0((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093ab10(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093ab10(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093ab10(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093ab10(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093a0e8(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093c5c8(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093a0e8(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093c5c8(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093a0e8(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093c5c8(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093a0e8(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093c5c8(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093a0e8(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093c5c8(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093a0e8(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093c5c8(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093a0e8(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c5c8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093a0e8(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093c5c8(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093a0e8(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093c5c8(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093a0e8(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093c5c8(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093a0e8(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093c5c8(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a0e8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093c5c8(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093a0e8(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c5c8(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a0e8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093c5c8(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a0e8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093c5c8(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093a0e8(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c5c8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c5c8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093a0e8(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c4b0(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a81c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093a0e8(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c4b0(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a81c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093a0e8(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a81c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c4b0(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a81c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093a0e8(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a81c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x120938d10([<@0x1503a83c0>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093ab10(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093c4b0(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x12093ab10(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a81c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x12093c4b0(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a81c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093ab10(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093c078(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093ab10(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093c078(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093ab10(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af240((null))> id=m gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093c078(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af240((null))> id=m gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093ab10(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af240((null))> id=m gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093c078(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af240((null))> id=m gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093ab10(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af240((null))> id=m gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093c078(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093ab10(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af240((null))> id=m gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093c078(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af240((null))> id=m gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093ab10(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af240((null))> id=m gr_attribs=<HashTable#0x13005c270(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093c078(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093ab10(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x12093bd80(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503adc80((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='sbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='sbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='sbi' table_layout_rows=<PointerArray#0x12093c078([["a", " ", "b", " ", "c"], ["a", " ", "b", " ", "d"]])>
xxx renameNode: id='a' newId='sbi' orig_graph=<class<Graph>#0x1503af240((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c078([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='s' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='s' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48,144' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48,144' nTok='pad_h' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_h' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [id=reg  align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [id=reg  align=centerx,expandy]" tokens=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4fc0((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='reg' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='reg' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='reg' table_layout_rows=<PointerArray#0x12093c078([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode: id='b' newId='reg' orig_graph=<class<Graph>#0x1503af240((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c078([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='centerx,expandy' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='centerx,expandy' nTok=']' prev_node=<reg>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<reg>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [id=ctl  align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [id=ctl  align=expandx,top]" tokens=<StringArray#0x12093bd80(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5000((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='ctl' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='ctl' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='ctl' table_layout_rows=<PointerArray#0x12093c078([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='c' newId='ctl' orig_graph=<class<Graph>#0x1503af240((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c078([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,top' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,top' nTok=']' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [id=dma  align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [id=dma  align=expandx,bottom]" tokens=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4f80((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dma' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dma' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='dma' table_layout_rows=<PointerArray#0x12093c078([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='d' newId='dma' orig_graph=<class<Graph>#0x1503af240((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c078([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,bottom' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,bottom' nTok=']' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  sbi <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["sbi", "<", ">", "reg"])>
xxx parse line "  sbi <> reg" tokens=<StringArray#0x12093bd80(["sbi", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='sbi' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  ctl <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parse line "  ctl <> reg" tokens=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='ctl' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ctl' nTok='<' prev_node=<null> prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  dma <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["dma", "<", ">", "reg"])>
xxx parse line "  dma <> reg" tokens=<StringArray#0x12093bd80(["dma", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='dma' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dma' nTok='<' prev_node=<null> prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<dma>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<reg>(?,?) prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503a81c0((null))> graph=<class<Graph>#0x1503af240((null))> graph.parent_graph=<class<Graph>#0x1503a81c0((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="ctl"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="dma"
xxx layoutFixedPlaceRowNodes: aRow=["sbi", " ", "reg", " ", "ctl"]
xxx layoutFixedPlaceRowNodes: sId="sbi"
[trc] setCell(64;64)=sbi
xxx layoutFixedPlaceRowNodes: sId="reg"
[trc] setCell(66;64)=reg
xxx layoutFixedPlaceRowNodes: sId="ctl"
[trc] setCell(68;64)=ctl
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "dma"]
xxx layoutFixedPlaceRowNodes: sId="dma"
[trc] setCell(68;65)=dma
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093c640(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005c540(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x120939a58(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093c640(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x120939a58(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093c640(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af1c0((null))> id=l gr_attribs=<HashTable#0x13005c540(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af1c0((null))> id=l gr_attribs=<HashTable#0x13005c540(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c640(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af1c0((null))> id=l gr_attribs=<HashTable#0x13005c540(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x120939a58(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af1c0((null))> id=l gr_attribs=<HashTable#0x13005c540(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093c640(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af1c0((null))> id=l gr_attribs=<HashTable#0x13005c540(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x120939a58(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af1c0((null))> id=l gr_attribs=<HashTable#0x13005c540(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c640(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503af1c0((null))> id=l gr_attribs=<HashTable#0x13005c540(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x120939a58(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939ad0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x120939ad0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5040((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x120939a58(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5a80((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939ad0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x120939ad0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5ac0((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x120939a58(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5b00((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939ad0(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939ad0(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503a81c0((null))> graph=<class<Graph>#0x1503af1c0((null))> graph.parent_graph=<class<Graph>#0x1503a81c0((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x120939c60(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939ad0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x120939ad0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e40(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x120939e40(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x1209395a8(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a020(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x12093a020(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093b858(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bce0(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093bce0(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c0a0(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x12093c0a0(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x12093a638(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a408(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093a408(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398c8(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x1209398c8(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c7f8(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x12093c7f8(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x12093a930(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093c960(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x12093a930(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093c960(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093a930(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi       align=left,expandy pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi       align=left,expandy pad=0] ports {" tokens=<StringArray#0x12093c960(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503af040((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:13) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:14) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x12093a930(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x12093c960(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x12093a930(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c960(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005d0b0(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x12093a930(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503af140((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x12093c960(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503af000((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x12093a930(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aef80((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x12093c960(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aef40((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x12093a930(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aef00((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x12093c960(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aefc0((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x12093a930(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aeec0((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x12093c960(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aee40((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x12093a930(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aee80((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x12093c960(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aee00((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x12093a930(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503af1c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c640([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503af1c0((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093c640([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x12093c960(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x12093a930(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x12093c960(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x12093a930(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x12093c960(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a930(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005ca50(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [id=topgraph  align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [id=topgraph  align=left,centery pad_r=60]" tokens=<StringArray#0x12093c960(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='topgraph' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='topgraph' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='m' newId='topgraph' table_layout_rows=<PointerArray#0x120939c60([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='m' newId='topgraph' orig_graph=<class<Graph>#0x1503af240((null))> orig_graph.table_layout_rows=<PointerArray#0x12093c078([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503af240((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093c078([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='align' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='left,centery' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='left,centery' nTok='pad_r' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='pad_r' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='60' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='60' nTok=']' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x12093a930(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503af080((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x120939c60([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x12093c960(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503af0c0((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x120939c60([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x12093a930(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503af100((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x120939c60([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x1503a81c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939c60([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "raster", "raster", "raster", "raster", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x12093c960(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a930(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093c960(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x12093a930(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zscache' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zscache' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x12093c960(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x12093a930(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x12093c960(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x12093a930(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093c960(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x12093a930(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x12093c960(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x12093a930(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x12093c960(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x12093a930(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x12093c960(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a930(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x12093a930(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093c960(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c758(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x12093c758(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x12093c960(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c758(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x12093c758(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093c960(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x1503a83c0((null))> line_idx=131 parse_context_stack=<PointerArray#0x120938d10([<@0x1503a83c0>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 76 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["topgraph", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="topgraph"
[trc] setCell(64;64)=topgraph
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:topgraph>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zscache>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zscache>(3,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.t.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|...      .v.      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[pro] GraphForm::reloadFile: processGRFile() took 81 ms
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x150331d00((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:topgraph>(0,0) subgraph.id=topgraph
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:topgraph>(0,0) gw=<class<GraphForm>#0x150480700((null))>
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
topgraph[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[pro] GraphForm::reloadFile: LayoutRootLayer() took 45 ms
[pro] GraphForm::reloadFile: LEAVE. total = 126 ms
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1438;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503a7e00((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093a0e8(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093a0e8(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093a0e8(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093a0e8(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093c960(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093bd30(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093c960(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093bd30(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093c960(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093bd30(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093c960(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093bd30(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093c960(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093bd30(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093c960(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093bd30(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093c960(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093bd30(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093c960(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093bd30(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093c960(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093bd30(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093c960(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093bd30(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093c960(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093bd30(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c960(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093bd30(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093c960(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093bd30(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c960(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093bd30(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c960(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093bd30(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093c960(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd30(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093bd30(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093c960(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093a098(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045c200((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093c960(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093a098(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045c200((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093c960(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045c200((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093a098(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045c200((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093c960(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045c200((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x120939c10([<@0x1503a7e00>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093a0e8(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093a098(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x12093a0e8(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045c200((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a098(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x12093a098(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x15045c200((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093a0e8(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093a700(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093a0e8(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093a700(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a0e8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1280((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093a700(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1280((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093a0e8(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1280((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093a700(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1280((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093a0e8(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1280((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093a700(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093a0e8(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1280((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093a700(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1280((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a0e8(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1280((null))> id=m gr_attribs=<HashTable#0x13005c1b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a700(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093a700(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093a0e8(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x1209395d0(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503aed40((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='sbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='sbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='sbi' table_layout_rows=<PointerArray#0x12093a700([["a", " ", "b", " ", "c"], ["a", " ", "b", " ", "d"]])>
xxx renameNode: id='a' newId='sbi' orig_graph=<class<Graph>#0x1503e1280((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a700([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='s' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='s' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48,144' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48,144' nTok='pad_h' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_h' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [id=reg  align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [id=reg  align=centerx,expandy]" tokens=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4c00((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='reg' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='reg' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='reg' table_layout_rows=<PointerArray#0x12093a700([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode: id='b' newId='reg' orig_graph=<class<Graph>#0x1503e1280((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a700([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='centerx,expandy' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='centerx,expandy' nTok=']' prev_node=<reg>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<reg>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [id=ctl  align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [id=ctl  align=expandx,top]" tokens=<StringArray#0x1209395d0(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4c40((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='ctl' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='ctl' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='ctl' table_layout_rows=<PointerArray#0x12093a700([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='c' newId='ctl' orig_graph=<class<Graph>#0x1503e1280((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a700([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,top' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,top' nTok=']' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [id=dma  align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [id=dma  align=expandx,bottom]" tokens=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4bc0((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dma' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dma' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='dma' table_layout_rows=<PointerArray#0x12093a700([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='d' newId='dma' orig_graph=<class<Graph>#0x1503e1280((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a700([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,bottom' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,bottom' nTok=']' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  sbi <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["sbi", "<", ">", "reg"])>
xxx parse line "  sbi <> reg" tokens=<StringArray#0x1209395d0(["sbi", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='sbi' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  ctl <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parse line "  ctl <> reg" tokens=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='ctl' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ctl' nTok='<' prev_node=<null> prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  dma <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395d0(["dma", "<", ">", "reg"])>
xxx parse line "  dma <> reg" tokens=<StringArray#0x1209395d0(["dma", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='dma' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dma' nTok='<' prev_node=<null> prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<dma>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<reg>(?,?) prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x15045c200((null))> graph=<class<Graph>#0x1503e1280((null))> graph.parent_graph=<class<Graph>#0x15045c200((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="ctl"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="dma"
xxx layoutFixedPlaceRowNodes: aRow=["sbi", " ", "reg", " ", "ctl"]
xxx layoutFixedPlaceRowNodes: sId="sbi"
[trc] setCell(64;64)=sbi
xxx layoutFixedPlaceRowNodes: sId="reg"
[trc] setCell(66;64)=reg
xxx layoutFixedPlaceRowNodes: sId="ctl"
[trc] setCell(68;64)=ctl
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "dma"]
xxx layoutFixedPlaceRowNodes: sId="dma"
[trc] setCell(68;65)=dma
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093b5d8(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093b5d8(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093b5d8(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1200((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1200((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093b5d8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1200((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1200((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093b5d8(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1200((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1200((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093b5d8(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e1200((null))> id=l gr_attribs=<HashTable#0x13005da70(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398a0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x1209398a0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4c80((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5540((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398a0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x1209398a0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5580((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b55c0((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398a0(["}"])>
xxx parse line "}" tokens=<StringArray#0x1209398a0(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x15045c200((null))> graph=<class<Graph>#0x1503e1200((null))> graph.parent_graph=<class<Graph>#0x15045c200((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939648(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x120939648(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398a0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x1209398a0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093b600(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x12093a7f0(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caa0(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x12093caa0(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093ccf8(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bfd8(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093bfd8(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bda8(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x12093bda8(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c758(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x12093c758(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c7f8(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093c7f8(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a408(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093a408(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bce0(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x12093bce0(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x12093b858(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x1209395a8(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x12093b858(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x1209395a8(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093b858(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi       align=left,expandy w=40 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "40", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi       align=left,expandy w=40 pad=0] ports {" tokens=<StringArray#0x1209395a8(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "40", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1080((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='40' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='40' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="40"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x12093b858(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x1209395a8(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x12093b858(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["}"])>
xxx parse line "}" tokens=<StringArray#0x1209395a8(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005dad0(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="40", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x12093b858(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1180((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x1209395a8(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1040((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x12093b858(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0fc0((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x1209395a8(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0f80((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x12093b858(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0f40((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x1209395a8(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1000((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x12093b858(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0f00((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x1209395a8(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0e80((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x12093b858(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0ec0((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x1209395a8(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0e40((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x12093b858(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503e1200((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b5d8([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503e1200((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093b5d8([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x1209395a8(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x12093b858(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x1209395a8(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x12093b858(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x1209395a8(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b858(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005c5a0(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [id=topgraph  align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [id=topgraph  align=left,centery pad_r=60]" tokens=<StringArray#0x1209395a8(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='topgraph' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='topgraph' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='m' newId='topgraph' table_layout_rows=<PointerArray#0x120939648([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='m' newId='topgraph' orig_graph=<class<Graph>#0x1503e1280((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a700([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503e1280((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093a700([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='align' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='left,centery' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='left,centery' nTok='pad_r' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='pad_r' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='60' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='60' nTok=']' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x12093b858(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e10c0((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x120939648([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x1209395a8(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1100((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x120939648([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x12093b858(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1140((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x120939648([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x15045c200((null))> orig_graph.table_layout_rows=<PointerArray#0x120939648([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "raster", "raster", "raster", "raster", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x1209395a8(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093b858(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x1209395a8(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x12093b858(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zscache' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zscache' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x1209395a8(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x12093b858(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x1209395a8(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x12093b858(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x1209395a8(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x12093b858(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x1209395a8(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x12093b858(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x1209395a8(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x12093b858(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x1209395a8(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b858(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x12093b858(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x1209395a8(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e40(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x120939e40(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x1209395a8(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e40(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x120939e40(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x1209395a8(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x1503a7e00((null))> line_idx=131 parse_context_stack=<PointerArray#0x120939c10([<@0x1503a7e00>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 77 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["topgraph", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="topgraph"
[trc] setCell(64;64)=topgraph
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:topgraph>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="40", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zscache>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zscache>(3,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.t.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|...      .v.      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[pro] GraphForm::reloadFile: processGRFile() took 83 ms
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x150331f40((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:topgraph>(0,0) subgraph.id=topgraph
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:topgraph>(0,0) gw=<class<GraphForm>#0x1504841c0((null))>
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
topgraph[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 1 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[pro] GraphForm::reloadFile: LayoutRootLayer() took 45 ms
[pro] GraphForm::reloadFile: LEAVE. total = 128 ms
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1437;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x150331d40((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093c960(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093c960(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093c960(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093c960(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x1209395a8(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x120938d10(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x1209395a8(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x120938d10(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x1209395a8(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x120938d10(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x1209395a8(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x120938d10(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x1209395a8(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x120938d10(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x1209395a8(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x120938d10(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x1209395a8(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["}"])>
xxx parse line "}" tokens=<StringArray#0x120938d10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x1209395a8(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["def"])>
xxx parse line "  def" tokens=<StringArray#0x120938d10(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x1209395a8(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x120938d10(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x1209395a8(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x120938d10(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x1209395a8(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x120938d10(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["}"])>
xxx parse line "}" tokens=<StringArray#0x1209395a8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x120938d10(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x1209395a8(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x120938d10(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x1209395a8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x120938d10(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["}"])>
xxx parse line "}" tokens=<StringArray#0x1209395a8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x120938d10(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x1209395a8(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938d10(["}"])>
xxx parse line "}" tokens=<StringArray#0x120938d10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x1209395a8(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c168(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a83c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x1209395a8(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c168(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a83c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x1209395a8(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a83c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c168(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a83c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x1209395a8(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a83c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x120939e90([<@0x150331d40>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093c960(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093c168(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x12093c960(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a83c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x12093c168(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a83c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093c960(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005c2a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093ab10(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093c960(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093ab10(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c960(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e2340((null))> id=m gr_attribs=<HashTable#0x13005c2a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093ab10(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e2340((null))> id=m gr_attribs=<HashTable#0x13005c2a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093c960(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e2340((null))> id=m gr_attribs=<HashTable#0x13005c2a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093ab10(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e2340((null))> id=m gr_attribs=<HashTable#0x13005c2a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093c960(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e2340((null))> id=m gr_attribs=<HashTable#0x13005c2a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093ab10(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093c960(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e2340((null))> id=m gr_attribs=<HashTable#0x13005c2a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093ab10(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e2340((null))> id=m gr_attribs=<HashTable#0x13005c2a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c960(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e2340((null))> id=m gr_attribs=<HashTable#0x13005c2a0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093ab10(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093c960(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [id=sbi  align=left,expandy s=40,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "40,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [id=sbi  align=left,expandy s=40,144 pad_h=0]" tokens=<StringArray#0x12093c528(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "40,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e0d80((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='sbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='sbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='sbi' table_layout_rows=<PointerArray#0x12093ab10([["a", " ", "b", " ", "c"], ["a", " ", "b", " ", "d"]])>
xxx renameNode: id='a' newId='sbi' orig_graph=<class<Graph>#0x1503e2340((null))> orig_graph.table_layout_rows=<PointerArray#0x12093ab10([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='s' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='s' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='40,144' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='40,144' nTok='pad_h' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="40;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_h' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [id=reg  align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [id=reg  align=centerx,expandy]" tokens=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4840((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='reg' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='reg' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='reg' table_layout_rows=<PointerArray#0x12093ab10([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode: id='b' newId='reg' orig_graph=<class<Graph>#0x1503e2340((null))> orig_graph.table_layout_rows=<PointerArray#0x12093ab10([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='centerx,expandy' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='centerx,expandy' nTok=']' prev_node=<reg>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<reg>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [id=ctl  align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [id=ctl  align=expandx,top]" tokens=<StringArray#0x12093c528(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4880((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='ctl' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='ctl' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='ctl' table_layout_rows=<PointerArray#0x12093ab10([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='c' newId='ctl' orig_graph=<class<Graph>#0x1503e2340((null))> orig_graph.table_layout_rows=<PointerArray#0x12093ab10([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,top' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,top' nTok=']' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [id=dma  align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [id=dma  align=expandx,bottom]" tokens=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4800((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dma' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dma' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='dma' table_layout_rows=<PointerArray#0x12093ab10([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='d' newId='dma' orig_graph=<class<Graph>#0x1503e2340((null))> orig_graph.table_layout_rows=<PointerArray#0x12093ab10([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,bottom' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,bottom' nTok=']' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  sbi <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["sbi", "<", ">", "reg"])>
xxx parse line "  sbi <> reg" tokens=<StringArray#0x12093c528(["sbi", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='sbi' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  ctl <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parse line "  ctl <> reg" tokens=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='ctl' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ctl' nTok='<' prev_node=<null> prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  dma <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c528(["dma", "<", ">", "reg"])>
xxx parse line "  dma <> reg" tokens=<StringArray#0x12093c528(["dma", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='dma' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dma' nTok='<' prev_node=<null> prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<dma>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<reg>(?,?) prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503a83c0((null))> graph=<class<Graph>#0x1503e2340((null))> graph.parent_graph=<class<Graph>#0x1503a83c0((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="ctl"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="dma"
xxx layoutFixedPlaceRowNodes: aRow=["sbi", " ", "reg", " ", "ctl"]
xxx layoutFixedPlaceRowNodes: sId="sbi"
[trc] setCell(64;64)=sbi
xxx layoutFixedPlaceRowNodes: sId="reg"
[trc] setCell(66;64)=reg
xxx layoutFixedPlaceRowNodes: sId="ctl"
[trc] setCell(68;64)=ctl
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "dma"]
xxx layoutFixedPlaceRowNodes: sId="dma"
[trc] setCell(68;65)=dma
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="40", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="40", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x120939008(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x120939a58(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x120939008(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x120939a58(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x120939008(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e22c0((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x120939a58(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e22c0((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x120939008(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e22c0((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x120939a58(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e22c0((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x120939008(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e22c0((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x120939a58(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e22c0((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x120939008(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e22c0((null))> id=l gr_attribs=<HashTable#0x13005ca80(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x120939a58(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209396c0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x1209396c0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b48c0((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x120939a58(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5180((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209396c0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x1209396c0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b51c0((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x120939a58(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b5200((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209396c0(["}"])>
xxx parse line "}" tokens=<StringArray#0x1209396c0(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503a83c0((null))> graph=<class<Graph>#0x1503e22c0((null))> graph.parent_graph=<class<Graph>#0x1503a83c0((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b740(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x12093b740(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209396c0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x1209396c0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a020(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093a020(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x12093a638(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c60(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x120939c60(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093b808(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093a728(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395f8(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x1209395f8(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e40(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x120939e40(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bce0(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093bce0(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c7f8(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093c7f8(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bfd8(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x12093bfd8(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x12093ccf8(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093a7f0(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x12093ccf8(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093a7f0(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093ccf8(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi       align=left,expandy w=40 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "40", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi       align=left,expandy w=40 pad=0] ports {" tokens=<StringArray#0x12093a7f0(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "40", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2140((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='40' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='40' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="40"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x12093ccf8(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x12093a7f0(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x12093ccf8(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a7f0(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005d050(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="40", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x12093ccf8(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2240((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x12093a7f0(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2100((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x12093ccf8(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2080((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x12093a7f0(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2040((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x12093ccf8(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2000((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x12093a7f0(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e20c0((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x12093ccf8(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1fc0((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x12093a7f0(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1f40((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x12093ccf8(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1f80((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x12093a7f0(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1f00((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x12093ccf8(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503e22c0((null))> orig_graph.table_layout_rows=<PointerArray#0x120939008([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503e22c0((null))> parent_subgraph.table_layout_rows=<PointerArray#0x120939008([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x12093a7f0(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x12093ccf8(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x12093a7f0(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x12093ccf8(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x12093a7f0(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ccf8(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005da40(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [id=topgraph  align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [id=topgraph  align=left,centery pad_r=60]" tokens=<StringArray#0x12093a7f0(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='topgraph' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='topgraph' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='m' newId='topgraph' table_layout_rows=<PointerArray#0x12093b740([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='m' newId='topgraph' orig_graph=<class<Graph>#0x1503e2340((null))> orig_graph.table_layout_rows=<PointerArray#0x12093ab10([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503e2340((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093ab10([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='align' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='left,centery' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='left,centery' nTok='pad_r' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='pad_r' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='60' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='60' nTok=']' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x12093ccf8(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2180((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x12093b740([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x12093a7f0(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e21c0((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x12093b740([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x12093ccf8(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2200((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x12093b740([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x1503a83c0((null))> orig_graph.table_layout_rows=<PointerArray#0x12093b740([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "raster", "raster", "raster", "raster", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a7f0(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093ccf8(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a7f0(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x12093ccf8(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zscache' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zscache' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x12093a7f0(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x12093ccf8(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x12093a7f0(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x12093ccf8(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093a7f0(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x12093ccf8(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x12093a7f0(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x12093ccf8(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x12093a7f0(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x12093ccf8(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x12093a7f0(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ccf8(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x12093ccf8(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093a7f0(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x12093b600(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x12093a7f0(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x12093b600(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093a7f0(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x150331d40((null))> line_idx=131 parse_context_stack=<PointerArray#0x120939e90([<@0x150331d40>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 78 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["topgraph", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="topgraph"
[trc] setCell(64;64)=topgraph
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:topgraph>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="40", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zscache>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zscache>(3,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.t.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|...      .v.      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[pro] GraphForm::reloadFile: processGRFile() took 84 ms
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x150332180((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:topgraph>(0,0) subgraph.id=topgraph
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:topgraph>(0,0) gw=<class<GraphForm>#0x150487680((null))>
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
topgraph[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 2 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[pro] GraphForm::reloadFile: LayoutRootLayer() took 45 ms
[pro] GraphForm::reloadFile: LEAVE. total = 129 ms
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1422;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38d.gr")
xxx Graph::buildPathname: newPathname="gr/test38d.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38d.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x150331f80((null))> name="gr/test38d.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel diagram. uses ports instead of invisible helper nodes."
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=131
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x1209395a8(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x1209395a8(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x1209395a8(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x1209395a8(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093a7f0(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x120939c10(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093a7f0(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x120939c10(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093a7f0(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x120939c10(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093a7f0(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x120939c10(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093a7f0(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x120939c10(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093a7f0(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x120939c10(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093a7f0(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939c10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093a7f0(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["def"])>
xxx parse line "  def" tokens=<StringArray#0x120939c10(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093a7f0(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x120939c10(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093a7f0(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x120939c10(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093a7f0(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x120939c10(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a7f0(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x120939c10(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093a7f0(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x120939c10(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a7f0(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x120939c10(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a7f0(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x120939c10(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093a7f0(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939c10(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939c10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093a7f0(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c640(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7e00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093a7f0(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c640(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7e00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093a7f0(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7e00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c640(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7e00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093a7f0(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7e00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093a390([<@0x150331f80>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x1209395a8(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=131
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093c640(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=131
xxx GRParseContext: beginLine: cur_line="col_padding = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["col_padding", "=", "0"])>
xxx parse line "col_padding = 0" tokens=<StringArray#0x1209395a8(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7e00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=131
xxx GRParseContext: beginLine: cur_line="ipad        = 12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c640(["ipad", "=", "12"])>
xxx parse line "ipad        = 12" tokens=<StringArray#0x12093c640(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503a7e00((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=131
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x1209395a8(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093a0e8(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x1209395a8(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093a0e8(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x1209395a8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3400((null))> id=m gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093a0e8(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3400((null))> id=m gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x1209395a8(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3400((null))> id=m gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093a0e8(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3400((null))> id=m gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x1209395a8(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3400((null))> id=m gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093a0e8(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=131
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x1209395a8(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3400((null))> id=m gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093a0e8(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3400((null))> id=m gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x1209395a8(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3400((null))> id=m gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=131
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093a0e8(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209395a8(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x1209395a8(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x120939d50(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=131
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parse line "  a "SBI"         [id=sbi  align=left,expandy s=48,144 pad_h=0]" tokens=<StringArray#0x12093c4b0(["a", "SBI", "[", "id", "=", "sbi", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e1e40((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='sbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='sbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='sbi' table_layout_rows=<PointerArray#0x12093a0e8([["a", " ", "b", " ", "c"], ["a", " ", "b", " ", "d"]])>
xxx renameNode: id='a' newId='sbi' orig_graph=<class<Graph>#0x1503e3400((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a0e8([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='s' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='s' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48,144' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48,144' nTok='pad_h' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_h' nTok='=' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=131
xxx GRParseContext: beginLine: cur_line="  b "Register"    [id=reg  align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [id=reg  align=centerx,expandy]" tokens=<StringArray#0x120939d50(["b", "Register", "[", "id", "=", "reg", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4480((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='reg' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='reg' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='reg' table_layout_rows=<PointerArray#0x12093a0e8([["sbi", " ", "b", " ", "c"], ["sbi", " ", "b", " ", "d"]])>
xxx renameNode: id='b' newId='reg' orig_graph=<class<Graph>#0x1503e3400((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a0e8([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='centerx,expandy' prev_node=<reg>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='centerx,expandy' nTok=']' prev_node=<reg>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<reg>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=131
xxx GRParseContext: beginLine: cur_line="  c "Control"     [id=ctl  align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [id=ctl  align=expandx,top]" tokens=<StringArray#0x12093c4b0(["c", "Control", "[", "id", "=", "ctl", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b44c0((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='ctl' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='ctl' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='ctl' table_layout_rows=<PointerArray#0x12093a0e8([["sbi", " ", "reg", " ", "c"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='c' newId='ctl' orig_graph=<class<Graph>#0x1503e3400((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a0e8([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,top' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,top' nTok=']' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=131
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [id=dma  align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [id=dma  align=expandx,bottom]" tokens=<StringArray#0x120939d50(["d", "Scratch DMA", "[", "id", "=", "dma", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4440((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dma' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dma' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='dma' table_layout_rows=<PointerArray#0x12093a0e8([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "d"]])>
xxx renameNode: id='d' newId='dma' orig_graph=<class<Graph>#0x1503e3400((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a0e8([["sbi", " ", "reg", " ", "ctl"], ["sbi", " ", "reg", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='expandx,bottom' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='expandx,bottom' nTok=']' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=131
xxx GRParseContext: beginLine: cur_line="  sbi <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["sbi", "<", ">", "reg"])>
xxx parse line "  sbi <> reg" tokens=<StringArray#0x12093c4b0(["sbi", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='sbi' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<sbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<sbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=131
xxx GRParseContext: beginLine: cur_line="  ctl <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parse line "  ctl <> reg" tokens=<StringArray#0x120939d50(["ctl", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='ctl' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ctl' nTok='<' prev_node=<null> prev_edge=edge<tail<sbi>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<ctl>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<ctl>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=131
xxx GRParseContext: beginLine: cur_line="  dma <> reg"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["dma", "<", ">", "reg"])>
xxx parse line "  dma <> reg" tokens=<StringArray#0x12093c4b0(["dma", "<", ">", "reg"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='dma' nTok='<' prev_node=<reg>(?,?) prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dma' nTok='<' prev_node=<null> prev_edge=edge<tail<ctl>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='reg' prev_node=<dma>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='reg' nTok='' prev_node=<dma>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<dma>(?,?) head<reg>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939d50(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939d50(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<reg>(?,?) prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<dma>(?,?) head<reg>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503a7e00((null))> graph=<class<Graph>#0x1503e3400((null))> graph.parent_graph=<class<Graph>#0x1503a7e00((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="sbi" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="reg" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="ctl"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="dma"
xxx layoutFixedPlaceRowNodes: aRow=["sbi", " ", "reg", " ", "ctl"]
xxx layoutFixedPlaceRowNodes: sId="sbi"
[trc] setCell(64;64)=sbi
xxx layoutFixedPlaceRowNodes: sId="reg"
[trc] setCell(66;64)=reg
xxx layoutFixedPlaceRowNodes: sId="ctl"
[trc] setCell(68;64)=ctl
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "dma"]
xxx layoutFixedPlaceRowNodes: sId="dma"
[trc] setCell(68;65)=dma
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <sbi>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <reg>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <ctl>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <dma>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<sbi>(0,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<ctl>(4,0) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<dma>(4,1) head<reg>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=131
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093a610(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=131
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093ca28(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=131
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x12093a610(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=131
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093ca28(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=131
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x12093a610(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3380((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=131
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x12093ca28(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3380((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a610(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3380((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=131
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093ca28(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3380((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=131
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093a610(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3380((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=131
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093ca28(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3380((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=131
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a610(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3380((null))> id=l gr_attribs=<HashTable#0x13005bd90(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=131
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093ca28(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=131
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6b0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x12093a6b0(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4500((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=131
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4dc0((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=131
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6b0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x12093a6b0(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4e00((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=131
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x12093ca28(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4e40((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6b0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a6b0(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503a7e00((null))> graph=<class<Graph>#0x1503e3380((null))> graph.parent_graph=<class<Graph>#0x1503a7e00((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def  // (already selected)"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["class", "=", "def"])>
xxx parse line "class=def  " tokens=<StringArray#0x120939fa8(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6b0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x12093a6b0(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caa0(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093caa0(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=131
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c758(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x12093c758(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939648(["row", "=", "a  b  cccc  ", ";"])>
xxx parse line "row="a  b  cccc  ";" tokens=<StringArray#0x120939648(["row", "=", "a  b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b8a8(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093b8a8(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a6d8(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093a6d8(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398c8(["row", "=", "a  h  ffff  ", ";"])>
xxx parse line "row="a  h  ffff  ";" tokens=<StringArray#0x1209398c8(["row", "=", "a  h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  h  ffff  "
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b600(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x12093b600(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bfd8(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093bfd8(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bce0(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093bce0(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=131
xxx GRParseContext: beginLine: cur_line="row="a     llll  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["row", "=", "a     llll  ", ";"])>
xxx parse line "row="a     llll  ";" tokens=<StringArray#0x12093a728(["row", "=", "a     llll  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     llll  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     llll  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     llll  "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=131
xxx GRParseContext: beginLine: cur_line="row="aX          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["row", "=", "aX          "])>
xxx parse line "row="aX          "" tokens=<StringArray#0x12093b808(["row", "=", "aX          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aX          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aX          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aX          "
xxx addLayoutRow: add implicit node 'X'
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=131
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093a638(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=131
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x12093b808(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=131
xxx GRParseContext: beginLine: cur_line="X [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "X [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x12093a638(["X", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=131
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093b808(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=131
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parse line "a "MBI"                  [id=mbi       align=left,expandy w=48 pad=0] ports {" tokens=<StringArray#0x12093a638(["a", "MBI", "[", "id", "=", "mbi", "align", "=", "left,expandy", "w", "=", "48", "pad", "=", "0", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3200((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='mbi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='mbi' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='mbi' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["a", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["a", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["a", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["a", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["a", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["a", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["a", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='a' newId='mbi' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='left,expandy' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='left,expandy' nTok='w' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='w' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='48' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='48' nTok='pad' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad' nTok='=' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok=']' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='ports' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:16) cTok='ports' nTok='{' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:17) cTok='{' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=131
xxx GRParseContext: beginLine: cur_line="  zs     : e 6%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["zs", ":", "e", "6%"])>
xxx parse line "  zs     : e 6%" tokens=<StringArray#0x12093b808(["zs", ":", "e", "6%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='zs' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='zs'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='6%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='6%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='6%'
[trc] ST_PORT_POS: port 'zs' relpos is 0.06
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=131
xxx GRParseContext: beginLine: cur_line="  vtx    : e 40%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["vtx", ":", "e", "40%"])>
xxx parse line "  vtx    : e 40%" tokens=<StringArray#0x12093a638(["vtx", ":", "e", "40%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='vtx' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='vtx'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='40%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='40%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='40%'
[trc] ST_PORT_POS: port 'vtx' relpos is 0.4
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=131
xxx GRParseContext: beginLine: cur_line="  shcore : e 93%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["shcore", ":", "e", "93%"])>
xxx parse line "  shcore : e 93%" tokens=<StringArray#0x12093b808(["shcore", ":", "e", "93%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
xxx begin node.id=mbi port.id='shcore'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='e' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='e' nTok='93%' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='93%' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='93%'
[trc] ST_PORT_POS: port 'shcore' relpos is 0.93
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a638(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005ce70(#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=131
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [id=zscache   align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [id=zscache   align=right,centery]" tokens=<StringArray#0x12093b808(["b", "ZSCache", "[", "id", "=", "zscache", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3300((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zscache' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zscache' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='zscache' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "b", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='b' newId='zscache' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right,centery' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right,centery' nTok=']' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=131
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [id=zsunit    sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [id=zsunit    sgx=zs]" tokens=<StringArray#0x12093a638(["c", "ZSUnit", "[", "id", "=", "zsunit", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e31c0((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsunit' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsunit' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='zsunit' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "c", "c", "c", "c", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='c' newId='zsunit' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=131
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [id=msasm     sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [id=msasm     sgx=zs]" tokens=<StringArray#0x12093b808(["d", "Multisample Assembly", "[", "id", "=", "msasm", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3140((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='msasm' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='msasm' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='msasm' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "d", "d", "d", "d", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='d' newId='msasm' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<msasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<msasm>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<msasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=131
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [id=addrenc   sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [id=addrenc   sgx=zs]" tokens=<StringArray#0x12093a638(["e", "Address Encoder", "[", "id", "=", "addrenc", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3100((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='addrenc' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='addrenc' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='addrenc' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "e", "e", "e", "e", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='e' newId='addrenc' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='sgx' nTok='=' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='zs' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='zs' nTok=']' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=131
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [id=dispatch  h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%]" tokens=<StringArray#0x12093b808(["f", "Dispatcher", "[", "id", "=", "dispatch", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e30c0((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='dispatch' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='dispatch' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='f' newId='dispatch' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "i", " ", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", " ", "j", " ", " ", "f", "f", "f", "f", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='f' newId='dispatch' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='75%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='75%' nTok='pad_h' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='align' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='align' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='center' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='center' nTok='ipad_l' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_l' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='ipad_r' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='ipad_r' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='6' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='6' nTok='bg_pattern' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='zigzag_4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok='bg_pattern_intensity' nTok='=' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:25) cTok='=' nTok='8%' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:26) cTok='8%' nTok=']' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:27) cTok=']' nTok='' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=131
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [id=fastclear pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [id=fastclear pad_h=0]" tokens=<StringArray#0x12093a638(["g", "Fast Clear", "[", "id", "=", "fastclear", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3180((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='fastclear' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='fastclear' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='g' newId='fastclear' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "g"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='g' newId='fastclear' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok=']' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=131
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      [id=vtxasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parse line "h "Vertex Assembly"      [id=vtxasm]" tokens=<StringArray#0x12093b808(["h", "Vertex Assembly", "[", "id", "=", "vtxasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3080((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='vtxasm' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='vtxasm' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='h' newId='vtxasm' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "h", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='h' newId='vtxasm' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=131
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          [idx=idxcache]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parse line "i "Index Cache"          [idx=idxcache]" tokens=<StringArray#0x12093a638(["i", "Index Cache", "[", "idx", "=", "idxcache", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3000((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='idx' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='idx' nTok='=' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='idxcache' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='idxcache' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="idx" value="idxcache"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=131
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   [id=primasm]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parse line "j "Primitive Assembly"   [id=primasm]" tokens=<StringArray#0x12093b808(["j", "Primitive Assembly", "[", "id", "=", "primasm", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3040((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='primasm' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='primasm' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='j' newId='primasm' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "j", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='j' newId='primasm' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=131
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [id=scram     pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [id=scram     pad_b=16]" tokens=<StringArray#0x12093a638(["k", "Scratch\nRAM", "[", "id", "=", "scram", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2fc0((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='scram' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='scram' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='k' newId='scram' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "k", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='k' newId='scram' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='16' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='16' nTok=']' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<scram>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=131
xxx GRParseContext: beginLine: cur_line="l                        [id=shcore    pad=0 border_width=0 align=top] ports {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parse line "l                        [id=shcore    pad=0 border_width=0 align=top] ports {" tokens=<StringArray#0x12093b808(["l", "[", "id", "=", "shcore", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]", "ports", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='shcore' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='shcore' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='l' newId='shcore' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "l", "l", "l", "l", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='l' newId='shcore' orig_graph=<class<Graph>#0x1503e3380((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a610([["S", "T", "U", "V"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503e3380((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093a610([["S", "T", "U", "V"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='border_width' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='border_width' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='0' nTok='align' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='align' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='top' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='top' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='ports' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:15) cTok='ports' nTok='{' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_PORTS_BEGIN(601:16) cTok='{' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=131
xxx GRParseContext: beginLine: cur_line="  margin = 25%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["margin", "=", "25%"])>
xxx parse line "  margin = 25%" tokens=<StringArray#0x12093a638(["margin", "=", "25%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='margin' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_ASSIGN(604:1) cTok='=' nTok='25%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORTS_ATTRIB_VALUE(605:2) cTok='25%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ports_margin" value="25%"
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=131
xxx GRParseContext: beginLine: cur_line="  0 : t 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["0", ":", "t", "0"])>
xxx parse line "  0 : t 0" tokens=<StringArray#0x12093b808(["0", ":", "t", "0"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='0' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='0'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='0' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='0'
[trc] ST_PORT_POS: port '0' relpos is 0
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=131
xxx GRParseContext: beginLine: cur_line="  1 : t 33%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["1", ":", "t", "33%"])>
xxx parse line "  1 : t 33%" tokens=<StringArray#0x12093a638(["1", ":", "t", "33%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='1' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='1'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='33%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='33%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='33%'
[trc] ST_PORT_POS: port '1' relpos is 0.33
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=131
xxx GRParseContext: beginLine: cur_line="  2 : t 66%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["2", ":", "t", "66%"])>
xxx parse line "  2 : t 66%" tokens=<StringArray#0x12093b808(["2", ":", "t", "66%"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='2' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='2'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='66%' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='66%' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='66%'
[trc] ST_PORT_POS: port '2' relpos is 0.66
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=131
xxx GRParseContext: beginLine: cur_line="  3 : t 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["3", ":", "t", "1"])>
xxx parse line "  3 : t 1" tokens=<StringArray#0x12093a638(["3", ":", "t", "1"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='3' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx begin node.id=shcore port.id='3'
xxx parseNextToken: state=ST_PORT_DIR_COL(606:1) cTok=':' nTok='t' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_DIR(607:2) cTok='t' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_PORT_POS(608:3) cTok='1' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx ST_PORT_POS: cTok='1'
[trc] ST_PORT_POS: port '3' relpos is 1
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=131
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b808(["}"])>
xxx parseNextToken: state=ST_PORTS(602:0) cTok='}' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=<null>
xxx applyPortMargin<node>: gr_attribs=<HashTable#0x13005bdc0(#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "align"="top", "shape_round_amount"="20%", "pad"="0"])>
xxx Node::applyPortMargin: off=0.125 scl=0.75
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=131
xxx GRParseContext: beginLine: cur_line="m                        [id=topgraph  align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [id=topgraph  align=left,centery pad_r=60]" tokens=<StringArray#0x12093a638(["m", "[", "id", "=", "topgraph", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='topgraph' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='topgraph' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='m' newId='topgraph' table_layout_rows=<PointerArray#0x120939fa8([["m", "m", "m", "m", "m", " ", "p", "p", "p", "p", " ", " "], ["m", "m", "m", "m", "m", " ", "o", "o", "o", "o", " ", " "], ["m", "m", "m", "m", "m", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='m' newId='topgraph' orig_graph=<class<Graph>#0x1503e3400((null))> orig_graph.table_layout_rows=<PointerArray#0x12093a0e8([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx renameNode:                                parent_subgraph=<class<Graph>#0x1503e3400((null))> parent_subgraph.table_layout_rows=<PointerArray#0x12093a0e8([["sbi", " ", "reg", " ", "ctl"], ["", " ", "", " ", "dma"]])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='align' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='left,centery' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='left,centery' nTok='pad_r' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='pad_r' nTok='=' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='60' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='60' nTok=']' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<graph:topgraph>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=131
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [id=zsfifo    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [id=zsfifo    pad_b=24]" tokens=<StringArray#0x12093b808(["n", "ZSFIFO", "[", "id", "=", "zsfifo", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3240((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zsfifo' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zsfifo' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='n' newId='zsfifo' table_layout_rows=<PointerArray#0x120939fa8([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "n", "n", "n", "n", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='n' newId='zsfifo' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=131
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [id=zssched   pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [id=zssched   pad_b=24]" tokens=<StringArray#0x12093a638(["o", "ZSScheduler", "[", "id", "=", "zssched", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e3280((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zssched' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zssched' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='o' newId='zssched' table_layout_rows=<PointerArray#0x120939fa8([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "o", "o", "o", "o", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='o' newId='zssched' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=131
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [id=raster    pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [id=raster    pad_b=24]" tokens=<StringArray#0x12093b808(["p", "Rasterizer", "[", "id", "=", "raster", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e32c0((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='id' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='id' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='raster' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='raster' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='p' newId='raster' table_layout_rows=<PointerArray#0x120939fa8([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "p", "p", "p", "p", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode: id='p' newId='raster' orig_graph=<class<Graph>#0x1503a7e00((null))> orig_graph.table_layout_rows=<PointerArray#0x120939fa8([["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "raster", "raster", "raster", "raster", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zssched", "zssched", "zssched", "zssched", " ", " "], ["topgraph", "topgraph", "topgraph", "topgraph", "topgraph", " ", "zsfifo", "zsfifo", "zsfifo", "zsfifo", " ", " "], ["mbi", " ", " ", "zscache", " ", " ", "zsunit", "zsunit", "zsunit", "zsunit", " ", " "], ["mbi", " ", " ", " ", " ", " ", "msasm", "msasm", "msasm", "msasm", " ", " "], ["mbi", " ", " ", " ", " ", " ", "addrenc", "addrenc", "addrenc", "addrenc", " ", "fastclear"], ["mbi", " ", " ", "vtxasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "i", " ", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", " ", "primasm", " ", " ", "dispatch", "dispatch", "dispatch", "dispatch", " ", " "], ["mbi", " ", "scram", " ", " ", " ", "4", "4", "4", "4", " ", " "], ["mbi", " ", " ", " ", " ", " ", "shcore", "shcore", "shcore", "shcore", " ", " "], ["mbi", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_b' nTok='=' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<raster>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=131
xxx GRParseContext: beginLine: cur_line="raster  -> zssched "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "raster  -> zssched "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a638(["raster", "-", ">", "zssched", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='raster' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zssched' prev_node=<raster>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zssched' nTok='Stamp' prev_node=<raster>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zssched>(?,?) prev_edge=edge<tail<raster>(?,?) head<zssched>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zsfifo  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zssched -> zsfifo  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093b808(["zssched", "-", ">", "zsfifo", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsfifo' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsfifo' nTok='Stamp' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsfifo>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zsfifo>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=131
xxx GRParseContext: beginLine: cur_line="zsfifo  -> zsunit  "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "zsfifo  -> zsunit  "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a638(["zsfifo", "-", ">", "zsunit", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsfifo' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zsfifo>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='Stamp' prev_node=<zsfifo>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zsfifo>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=131
xxx GRParseContext: beginLine: cur_line="zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "zssched -> zscache  "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x12093b808(["zssched", "-", ">", "zscache", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zssched' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zscache' prev_node=<zssched>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zscache' nTok='Prefetch' prev_node=<zssched>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<zscache>(?,?) prev_edge=edge<tail<zssched>(?,?) head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:zs  <> zscache"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parse line "mbi:zs  <> zscache" tokens=<StringArray#0x12093a638(["mbi", ":", "zs", "<", ">", "zscache"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='zs' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='zs' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='zscache' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='zscache' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=131
xxx GRParseContext: beginLine: cur_line="zscache <> zsunit"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["zscache", "<", ">", "zsunit"])>
xxx parse line "zscache <> zsunit" tokens=<StringArray#0x12093b808(["zscache", "<", ">", "zsunit"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zscache' nTok='<' prev_node=<zscache>(?,?) prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zscache' nTok='<' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):zs head<zscache>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='zsunit' prev_node=<zscache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='zsunit' nTok='' prev_node=<zscache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=131
xxx GRParseContext: beginLine: cur_line="zsunit -> msasm -> addrenc -> dispatch "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parse line "zsunit -> msasm -> addrenc -> dispatch "Stamp"" tokens=<StringArray#0x12093a638(["zsunit", "-", ">", "msasm", "-", ">", "addrenc", "-", ">", "dispatch", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='zsunit' nTok='-' prev_node=<zsunit>(?,?) prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zsunit' nTok='-' prev_node=<null> prev_edge=edge<tail<zscache>(?,?) head<zsunit>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='msasm' prev_node=<zsunit>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='msasm' nTok='-' prev_node=<zsunit>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='addrenc' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='addrenc' nTok='-' prev_node=<msasm>(?,?) prev_edge=edge<tail<zsunit>(?,?) head<msasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='dispatch' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='dispatch' nTok='Stamp' prev_node=<addrenc>(?,?) prev_edge=edge<tail<msasm>(?,?) head<addrenc>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=131
xxx GRParseContext: beginLine: cur_line="addrenc -> fastclear "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "addrenc -> fastclear "Tile" [pad_t=15]" tokens=<StringArray#0x12093b808(["addrenc", "-", ">", "fastclear", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='addrenc' nTok='-' prev_node=<dispatch>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='addrenc' nTok='-' prev_node=<null> prev_edge=edge<tail<addrenc>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='fastclear' prev_node=<addrenc>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='fastclear' nTok='Tile' prev_node=<addrenc>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<fastclear>(?,?) prev_edge=edge<tail<addrenc>(?,?) head<fastclear>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=131
xxx GRParseContext: beginLine: cur_line="dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "dispatch->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x12093a638(["dispatch", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='dispatch' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<dispatch>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<dispatch>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<dispatch>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:0 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:0 [edge_shape=rcurve]" tokens=<StringArray#0x12093b808(["4", ":", "l", "-", ">", "shcore", ":", "0", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='0' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='0' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):0>
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=131
xxx GRParseContext: beginLine: cur_line="4:l->shcore:1 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:l->shcore:1 [edge_shape=rcurve]" tokens=<StringArray#0x12093a638(["4", ":", "l", "-", ">", "shcore", ":", "1", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='l' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='l' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='1' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='1' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):w head<graph:shcore>(?,?):1>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r->shcore:2 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r->shcore:2 [edge_shape=rcurve]" tokens=<StringArray#0x12093b808(["4", ":", "r", "-", ">", "shcore", ":", "2", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='-' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='2' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='2' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):2>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=131
xxx GRParseContext: beginLine: cur_line="4:r.>shcore:3 [edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4:r.>shcore:3 [edge_shape=rcurve]" tokens=<StringArray#0x12093a638(["4", ":", "r", ".", ">", "shcore", ":", "3", "[", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='r' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='r' nTok='.' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='.' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="dotted"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='3' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='3' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='[' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<4>(?,?):e head<graph:shcore>(?,?):3>
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=131
xxx GRParseContext: beginLine: cur_line="fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "fastclear:s -> shcore:e "Tile" [pad_r=4 edge_shape=rcurve]" tokens=<StringArray#0x12093b808(["fastclear", ":", "s", "-", ">", "shcore", ":", "e", "Tile", "[", "pad_r", "=", "4", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='fastclear' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='s' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='s' nTok='-' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='-' nTok='>' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<fastclear>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<fastclear>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='e' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='e' nTok='Tile' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Tile' nTok='[' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:9) cTok='[' nTok='pad_r' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:10) cTok='pad_r' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:11) cTok='=' nTok='4' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:12) cTok='4' nTok='edge_shape' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="pad_r" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:13) cTok='edge_shape' nTok='=' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:14) cTok='=' nTok='rcurve' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='rcurve' nTok=']' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:16) cTok=']' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<fastclear>(?,?):s head<graph:shcore>(?,?):e>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:vtx  <> vtxasm"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parse line "mbi:vtx  <> vtxasm" tokens=<StringArray#0x12093a638(["mbi", ":", "vtx", "<", ">", "vtxasm"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='vtx' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='vtx' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='vtxasm' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='vtxasm' nTok='' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=131
xxx GRParseContext: beginLine: cur_line="vtxasm   -> dispatch "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b808(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parse line "vtxasm   -> dispatch "Vertex Stamp"" tokens=<StringArray#0x12093b808(["vtxasm", "-", ">", "dispatch", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='vtxasm' nTok='-' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='vtxasm' nTok='-' prev_node=<null> prev_edge=edge<tail<mbi>(?,?):vtx head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<vtxasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Vertex Stamp' prev_node=<vtxasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "idxcache <> vtxasm   [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093a638(["idxcache", "<", ">", "vtxasm", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='idxcache' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='<' prev_node=<null> prev_edge=edge<tail<vtxasm>(?,?) head<dispatch>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: add node 'idxcache' cur_node_style.id=def
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='vtxasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='vtxasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<vtxasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<vtxasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=131
xxx GRParseContext: beginLine: cur_line="idxcache -> primasm  [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a020(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "idxcache -> primasm  [xmajor_tail=false]" tokens=<StringArray#0x12093a020(["idxcache", "-", ">", "primasm", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='idxcache' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='primasm' prev_node=<idxcache>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='primasm' nTok='[' prev_node=<idxcache>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<primasm>(?,?) prev_edge=edge<tail<idxcache>(?,?) head<primasm>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=131
xxx GRParseContext: beginLine: cur_line="primasm  -> dispatch "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parse line "primasm  -> dispatch "Primitive Stamp"" tokens=<StringArray#0x12093a638(["primasm", "-", ">", "dispatch", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='primasm' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='dispatch' prev_node=<primasm>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='dispatch' nTok='Primitive Stamp' prev_node=<primasm>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=131
xxx GRParseContext: beginLine: cur_line="scram    <> shcore:w"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a020(["scram", "<", ">", "shcore", ":", "w"])>
xxx parse line "scram    <> shcore:w" tokens=<StringArray#0x12093a020(["scram", "<", ">", "shcore", ":", "w"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='scram' nTok='<' prev_node=<dispatch>(?,?) prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='scram' nTok='<' prev_node=<null> prev_edge=edge<tail<primasm>(?,?) head<dispatch>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='shcore' prev_node=<scram>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='shcore' nTok=':' prev_node=<scram>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:4) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:5) cTok='w' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=131
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=131
xxx GRParseContext: beginLine: cur_line="mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "mbi:shcore <> shcore:w "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093a638(["mbi", ":", "shcore", "<", ">", "shcore", ":", "w", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='mbi' nTok=':' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='mbi' nTok=':' prev_node=<null> prev_edge=edge<tail<scram>(?,?) head<graph:shcore>(?,?):w>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok=':' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_TAIL_PORT(211:2) cTok='shcore' nTok='<' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='<' nTok='>' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:4) cTok='>' nTok='shcore' prev_node=<mbi>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:5) cTok='shcore' nTok=':' prev_node=<mbi>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT_COL(212:6) cTok=':' nTok='w' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD_PORT(213:7) cTok='w' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:8) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<graph:shcore>(?,?) prev_edge=edge<tail<mbi>(?,?):shcore head<graph:shcore>(?,?):w>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=131
xxx popParseContext cur=<class<GRParseContext>#0x150331f80((null))> line_idx=131 parse_context_stack=<PointerArray#0x12093a390([<@0x150331f80>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 77 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=12
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="topgraph" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="raster" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="zssched" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="zsfifo" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi"
[trc] Node::addNodeAttrib: key="sh" value="9"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="mbi" => spanW=1 spanH=9 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="zscache"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="zsunit" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="msasm" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="addrenc" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="fastclear"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="vtxasm"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="dispatch" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="primasm"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="scram"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="shcore" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["topgraph", "", "", "", "", " ", "raster", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="topgraph"
[trc] setCell(64;64)=topgraph
xxx layoutFixedPlaceRowNodes: sId="raster"
[trc] setCell(70;64)=raster
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zssched", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zssched"
[trc] setCell(70;65)=zssched
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "zsfifo", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="zsfifo"
[trc] setCell(70;66)=zsfifo
xxx layoutFixedPlaceRowNodes: aRow=["mbi", " ", " ", "zscache", " ", " ", "zsunit", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="mbi"
[trc] setCell(64;67)=mbi
xxx layoutFixedPlaceRowNodes: sId="zscache"
[trc] setCell(67;67)=zscache
xxx layoutFixedPlaceRowNodes: sId="zsunit"
[trc] setCell(70;67)=zsunit
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "msasm", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="msasm"
[trc] setCell(70;68)=msasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "addrenc", "", "", "", " ", "fastclear"]
xxx layoutFixedPlaceRowNodes: sId="addrenc"
[trc] setCell(70;69)=addrenc
xxx layoutFixedPlaceRowNodes: sId="fastclear"
[trc] setCell(75;69)=fastclear
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "vtxasm", " ", " ", "dispatch", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="vtxasm"
[trc] setCell(67;70)=vtxasm
xxx layoutFixedPlaceRowNodes: sId="dispatch"
[trc] setCell(70;70)=dispatch
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "primasm", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="primasm"
[trc] setCell(67;72)=primasm
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "scram", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="scram"
[trc] setCell(66;73)=scram
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "shcore", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="shcore"
[trc] setCell(70;74)=shcore
xxx layoutFixedPlaceRowNodes: aRow=["", "X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(65;75)=X
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;75) sz=(12x12)
[trc] debugPrintNodes: n[0] = <graph:topgraph>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:shcore>(6,10) label="l" gr_attribs=#["ports_margin"="25%", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <raster>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <zssched>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <zsfifo>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <mbi>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="9", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <zscache>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[7] = <zsunit>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[8] = <msasm>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <addrenc>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <fastclear>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[11] = <vtxasm>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <dispatch>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[13] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "idx"="idxcache"]
[trc] debugPrintNodes: n[14] = <primasm>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[15] = <scram>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[17] = <X>(1,11) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[18] = <idxcache>(?,?) label="idxcache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<raster>(6,0) head<zssched>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<zssched>(6,1) head<zsfifo>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<zsfifo>(6,2) head<zsunit>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<zssched>(6,1) head<zscache>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<mbi>(0,3):zs head<zscache>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<zscache>(3,3) head<zsunit>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<zsunit>(6,3) head<msasm>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<msasm>(6,4) head<addrenc>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<addrenc>(6,5) head<dispatch>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<addrenc>(6,5) head<fastclear>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<dispatch>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):0> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9):w head<graph:shcore>(6,10):1> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):2> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9):e head<graph:shcore>(6,10):3> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="dotted", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<fastclear>(11,5):s head<graph:shcore>(6,10):e> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="4", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<mbi>(0,3):vtx head<vtxasm>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<vtxasm>(3,6) head<dispatch>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<idxcache>(?,?) head<vtxasm>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<idxcache>(?,?) head<primasm>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<primasm>(3,8) head<dispatch>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<scram>(2,9) head<graph:shcore>(6,10):w> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<mbi>(0,3):shcore head<graph:shcore>(6,10):w> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<raster>(6,0) => head<zssched>(6,1) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zsfifo>(6,2) style=normal
[trc] draw edge: tail<<zsfifo>(6,2) => head<zsunit>(6,3) style=normal
[trc] draw edge: tail<<zssched>(6,1) => head<zscache>(3,3) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<zscache>(3,3) style=bidir
[trc] draw edge: tail<<zscache>(3,3) => head<zsunit>(6,3) style=bidir
[trc] draw edge: tail<<zsunit>(6,3) => head<msasm>(6,4) style=normal
[trc] draw edge: tail<<msasm>(6,4) => head<addrenc>(6,5) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<addrenc>(6,5) => head<fastclear>(11,5) style=normal
[trc] draw edge: tail<<dispatch>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<graph:shcore>(6,10) style=dotted
[trc] draw edge: tail<<fastclear>(11,5) => head<graph:shcore>(6,10) style=normal
[trc] draw edge: tail<<mbi>(0,3) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<vtxasm>(3,6) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<idxcache>(?,?) => head<vtxasm>(3,6) style=bidir
[trc] draw edge: tail<<idxcache>(?,?) => head<primasm>(3,8) style=normal
[trc] draw edge: tail<<primasm>(3,8) => head<dispatch>(6,6) style=normal
[trc] draw edge: tail<<scram>(2,9) => head<graph:shcore>(6,10) style=bidir
[trc] draw edge: tail<<mbi>(0,3) => head<graph:shcore>(6,10) style=bidir
main[12x12]=
 ____________________________________ 
|...               ...               |
|.t.               .r.               |
|...               .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|                  .v.               |
|                  .z.               |
|                  .v.               |
|...      .v.      .v.               |
|.m>>>>>>>>z>>>>>>>>z.               |
|...      ...      .v.               |
|                  .v.               |
|                  .m.               |
|                  .v.               |
|                  .v.            ...|
|                  .a>>>>>>>>>>>>>>f.|
|                  .v.            .v.|
|         ...      .v.               |
|         >v>>>>>>>>d.               |
|         ...      .v.               |
|      ...          v                |
|      .i.          v                |
|      ...          v                |
|         ...       v                |
|         .p>       v                |
|         ...       v                |
|      ...         .v.               |
|      .s>         .4.               |
|      ...         .v.               |
|                  .v.               |
|                  >s.               |
|                  ...               |
|   ...                              |
|   .X.                              |
|   ...                              |
 ------------------------------------ 
[pro] GraphForm::reloadFile: processGRFile() took 82 ms
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:shcore>(6,10) subgraph.id=shcore
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:shcore>(6,10) gw=<class<GraphForm>#0x1503323c0((null))>
shcore[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:topgraph>(0,0) subgraph.id=topgraph
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:topgraph>(0,0) gw=<class<GraphForm>#0x15048ab40((null))>
[trc] draw edge: tail<<sbi>(0,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<ctl>(4,0) => head<reg>(2,0) style=bidir
[trc] draw edge: tail<<dma>(4,1) => head<reg>(2,0) style=bidir
topgraph[5x2]=
 _______________ 
|...   ...   ...|
|.s>>>>>r<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 1 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[pro] GraphForm::reloadFile: LayoutRootLayer() took 45 ms
[pro] GraphForm::reloadFile: LEAVE. total = 127 ms
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1438;1052)
[...] ===================================================== GraphForm::processGRFile("gr/test38c.gr")
xxx Graph::buildPathname: newPathname="gr/test38c.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38c.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503321c0((null))> name="gr/test38c.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel debug 2"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=44
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093a7f0(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093a7f0(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093a7f0(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093a7f0(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093a638(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x120939e90(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093a638(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x120939e90(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093a638(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x120939e90(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093a638(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x120939e90(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093a638(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x120939e90(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093a638(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x120939e90(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093a638(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939e90(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093a638(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["def"])>
xxx parse line "  def" tokens=<StringArray#0x120939e90(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093a638(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x120939e90(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093a638(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x120939e90(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093a638(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x120939e90(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a638(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x120939e90(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093a638(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x120939e90(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093a638(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x120939e90(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a638(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x120939e90(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093a638(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e90(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939e90(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093a638(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093b5d8(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331d40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093a638(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093b5d8(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331d40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093a638(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331d40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093b5d8(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331d40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093a638(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331d40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093a520([<@0x1503321c0>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093a7f0(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=44
xxx GRParseContext: beginLine: cur_line=" row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["row_padding", "=", "0"])>
xxx parse line " row_padding=0" tokens=<StringArray#0x12093b5d8(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331d40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=44
xxx GRParseContext: beginLine: cur_line=" col_padding=8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["col_padding", "=", "8"])>
xxx parse line " col_padding=8" tokens=<StringArray#0x12093a7f0(["col_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331d40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=44
xxx GRParseContext: beginLine: cur_line="ipad=12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["ipad", "=", "12"])>
xxx parse line "ipad=12" tokens=<StringArray#0x12093b5d8(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331d40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=44
xxx GRParseContext: beginLine: cur_line="flatten=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["flatten", "=", "0"])>
xxx parse line "flatten=0" tokens=<StringArray#0x12093a7f0(["flatten", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='flatten' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331d40((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "flatten"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=44
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x12093b5d8(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005ca50(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="8", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=44
xxx GRParseContext: beginLine: cur_line="  layout=fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["layout", "=", "fixed"])>
xxx parse line "  layout=fixed" tokens=<StringArray#0x12093c960(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=44
xxx GRParseContext: beginLine: cur_line="  zero_margin = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin = true" tokens=<StringArray#0x12093b5d8(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=44
xxx GRParseContext: beginLine: cur_line="  unfold = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["unfold", "=", "false"])>
xxx parse line "  unfold = false" tokens=<StringArray#0x12093c960(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=44
xxx GRParseContext: beginLine: cur_line="  row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["row_padding", "=", "0"])>
xxx parse line "  row_padding=0" tokens=<StringArray#0x12093b5d8(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e44c0((null))> id=l gr_attribs=<HashTable#0x13005ca50(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="8", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=44
xxx GRParseContext: beginLine: cur_line="  col_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["col_padding", "=", "0"])>
xxx parse line "  col_padding=0" tokens=<StringArray#0x12093c960(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e44c0((null))> id=l gr_attribs=<HashTable#0x13005ca50(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=44
xxx GRParseContext: beginLine: cur_line="  border_width=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["border_width", "=", "0"])>
xxx parse line "  border_width=0" tokens=<StringArray#0x12093b5d8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e44c0((null))> id=l gr_attribs=<HashTable#0x13005ca50(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=44
xxx GRParseContext: beginLine: cur_line="  pad = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["pad", "=", "0"])>
xxx parse line "  pad = 0" tokens=<StringArray#0x12093c960(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e44c0((null))> id=l gr_attribs=<HashTable#0x13005ca50(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=44
xxx GRParseContext: beginLine: cur_line="  bgcolor=#f00"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["bgcolor", "=", "#f00"])>
xxx parse line "  bgcolor=#f00" tokens=<StringArray#0x12093b5d8(["bgcolor", "=", "#f00"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f00' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f00' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e44c0((null))> id=l gr_attribs=<HashTable#0x13005ca50(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00ff0000", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=44
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093c960(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=44
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [font=small]  // sgx=shcore"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["S", "Shader Core 0", "[", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [font=small]  " tokens=<StringArray#0x12093bd58(["S", "Shader Core 0", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e2f00((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=44
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["T", "Shader Core 1", "[", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [font=small]" tokens=<StringArray#0x12093c960(["T", "Shader Core 1", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4080((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=44
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["U", "Shader Core 2", "[", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [font=small]" tokens=<StringArray#0x12093bd58(["U", "Shader Core 2", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b40c0((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=44
xxx GRParseContext: beginLine: cur_line="  V "..."           [font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["V", "...", "[", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [font=small]" tokens=<StringArray#0x12093c960(["V", "...", "[", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b4100((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=44
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd58(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093bd58(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x150331d40((null))> graph=<class<Graph>#0x1503e44c0((null))> graph.parent_graph=<class<Graph>#0x150331d40((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=44
xxx GRParseContext: beginLine: cur_line="row="eeeeg";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bd80(["row", "=", "eeeeg", ";"])>
xxx parse line "row="eeeeg";" tokens=<StringArray#0x12093bd80(["row", "=", "eeeeg", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='eeeeg' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='eeeeg' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="eeeeg"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffffh";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b510(["row", "=", "ffffh", ";"])>
xxx parse line "row="ffffh";" tokens=<StringArray#0x12093b510(["row", "=", "ffffh", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffffh' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffffh' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffffh"
xxx addLayoutRow: add implicit node 'f'
xxx addLayoutRow: add implicit node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939008(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x120939008(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=44
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a58(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x120939a58(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=44
xxx GRParseContext: beginLine: cur_line="row="llll ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["row", "=", "llll ", ";"])>
xxx parse line "row="llll ";" tokens=<StringArray#0x12093c4b0(["row", "=", "llll ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='llll ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='llll ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="llll "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=44
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093a0e8(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=44
xxx GRParseContext: beginLine: cur_line="e "Address Encoder" [pad=0 align=center]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["e", "Address Encoder", "[", "pad", "=", "0", "align", "=", "center", "]"])>
xxx parse line "e "Address Encoder" [pad=0 align=center]" tokens=<StringArray#0x12093c4b0(["e", "Address Encoder", "[", "pad", "=", "0", "align", "=", "center", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e4400((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='align' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='center' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='center' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=44
xxx GRParseContext: beginLine: cur_line="f "Dispatcher" [h=75% pad=0 align=right]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parse line "f "Dispatcher" [h=75% pad=0 align=right]" tokens=<StringArray#0x12093a0e8(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e4440((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='75%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='75%' nTok='pad' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok='align' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='align' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='right' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='right' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=44
xxx GRParseContext: beginLine: cur_line="g "Fast Clear" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parse line "g "Fast Clear" [pad=0]" tokens=<StringArray#0x12093c4b0(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e43c0((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<g>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=44
xxx GRParseContext: beginLine: cur_line="h [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["h", "[", "pad", "=", "0", "]"])>
xxx parse line "h [pad=0]" tokens=<StringArray#0x12093a0e8(["h", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=44
xxx GRParseContext: beginLine: cur_line="l [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["l", "[", "pad", "=", "0", "]"])>
xxx parse line "l [pad=0]" tokens=<StringArray#0x12093c4b0(["l", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=44
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=44
xxx GRParseContext: beginLine: cur_line="e->f "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a0e8(["e", "-", ">", "f", "Stamp"])>
xxx parse line "e->f "Stamp"" tokens=<StringArray#0x12093a0e8(["e", "-", ">", "f", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Stamp' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=44
xxx GRParseContext: beginLine: cur_line="e->g"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["e", "-", ">", "g"])>
xxx parse line "e->g" tokens=<StringArray#0x12093c4b0(["e", "-", ">", "g"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='e' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=44
xxx popParseContext cur=<class<GRParseContext>#0x1503321c0((null))> line_idx=44 parse_context_stack=<PointerArray#0x12093a520([<@0x1503321c0>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 47 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=5 gridH=5
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell="l"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell="l" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["e", "", "", "", "g"]
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(64;64)=e
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(68;64)=g
xxx layoutFixedPlaceRowNodes: aRow=["f", "", "", "", "h"]
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(64;65)=f
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(68;65)=h
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["l", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: sId="l"
[trc] setCell(64;68)=l
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;68) sz=(5x5)
[trc] debugPrintNodes: n[0] = <graph:l>(0,4) label="l" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[1] = <e>(0,0) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <g>(4,0) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[3] = <f>(0,1) label="Dispatcher" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="right", "shape_round_amount"="20%", "pad"="0", "h"="75%"]
[trc] debugPrintNodes: n[4] = <h>(4,1) label="h" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintEdges: e[0] = edge<tail<e>(0,0) head<f>(0,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<e>(0,0) head<g>(4,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<e>(0,0) => head<f>(0,1) style=normal
[trc] draw edge: tail<<e>(0,0) => head<g>(4,0) style=normal
main[5x5]=
 _______________ 
|...         ...|
|.e>>>>>>>>>>>g.|
|.v.         ...|
|.v.         ...|
|.f.         .h.|
|...         ...|
|               |
|               |
|               |
|               |
|               |
|               |
|...            |
|.l.            |
|...            |
 --------------- 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:l>(0,4) subgraph.id=l
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:l>(0,4) gw=<class<GraphForm>#0x150332640((null))>
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;665;149)
[...] ===================================================== GraphForm::processGRFile("gr/test38b.gr")
xxx Graph::buildPathname: newPathname="gr/test38b.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38b.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x150332400((null))> name="gr/test38b.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel debug 1"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=27
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093a638(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093a638(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093a638(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093a638(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093c4b0(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093a390(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093c4b0(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093a390(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093c4b0(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093a390(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093c4b0(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093a390(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093c4b0(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093a390(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093c4b0(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093a390(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093c4b0(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a390(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093c4b0(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093a390(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093c4b0(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093a390(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093c4b0(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093a390(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093c4b0(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093a390(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c4b0(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093a390(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093c4b0(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a390(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c4b0(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093a390(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c4b0(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093a390(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093c4b0(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a390(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093c4b0(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c078(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331f80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093c4b0(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c078(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331f80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093c4b0(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331f80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c078(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331f80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093c4b0(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331f80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x120939af8([<@0x150332400>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093a638(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=27
xxx GRParseContext: beginLine: cur_line=" row_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["row_padding", "=", "0"])>
xxx parse line " row_padding=0" tokens=<StringArray#0x12093c078(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331f80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=27
xxx GRParseContext: beginLine: cur_line=" col_padding=8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["col_padding", "=", "8"])>
xxx parse line " col_padding=8" tokens=<StringArray#0x12093a638(["col_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331f80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=27
xxx GRParseContext: beginLine: cur_line="ipad=12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["ipad", "=", "12"])>
xxx parse line "ipad=12" tokens=<StringArray#0x12093c078(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331f80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=27
xxx GRParseContext: beginLine: cur_line="flatten=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a638(["flatten", "=", "0"])>
xxx parse line "flatten=0" tokens=<StringArray#0x12093a638(["flatten", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='flatten' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150331f80((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="0", "col_padding"="8", "flatten"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=27
xxx GRParseContext: beginLine: cur_line="row="eeeeg";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["row", "=", "eeeeg", ";"])>
xxx parse line "row="eeeeg";" tokens=<StringArray#0x12093c078(["row", "=", "eeeeg", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='eeeeg' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='eeeeg' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="eeeeg"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=27
xxx GRParseContext: beginLine: cur_line="row="ffffh";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["row", "=", "ffffh", ";"])>
xxx parse line "row="ffffh";" tokens=<StringArray#0x12093c9d8(["row", "=", "ffffh", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffffh' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffffh' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffffh"
xxx addLayoutRow: add implicit node 'f'
xxx addLayoutRow: add implicit node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=27
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093a610(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=27
xxx GRParseContext: beginLine: cur_line="row="ffff ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ca28(["row", "=", "ffff ", ";"])>
xxx parse line "row="ffff ";" tokens=<StringArray#0x12093ca28(["row", "=", "ffff ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ffff ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ffff ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ffff "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=27
xxx GRParseContext: beginLine: cur_line="row="     ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c960(["row", "=", "     ", ";"])>
xxx parse line "row="     ";" tokens=<StringArray#0x12093c960(["row", "=", "     ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='     ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='     ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="     "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=27
xxx GRParseContext: beginLine: cur_line="row="llll ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["row", "=", "llll ", ";"])>
xxx parse line "row="llll ";" tokens=<StringArray#0x12093b5d8(["row", "=", "llll ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='llll ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='llll ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="llll "
xxx addLayoutRow: add implicit node 'l'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=27
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093a7f0(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=27
xxx GRParseContext: beginLine: cur_line="e "Address Encoder" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["e", "Address Encoder", "[", "pad", "=", "0", "]"])>
xxx parse line "e "Address Encoder" [pad=0]" tokens=<StringArray#0x12093b5d8(["e", "Address Encoder", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e4300((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=27
xxx GRParseContext: beginLine: cur_line="f "Dispatcher" [h=75% pad=0 align=right]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parse line "f "Dispatcher" [h=75% pad=0 align=right]" tokens=<StringArray#0x12093a7f0(["f", "Dispatcher", "[", "h", "=", "75%", "pad", "=", "0", "align", "=", "right", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e84c0((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='75%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='75%' nTok='pad' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok='align' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='align' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='right' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='right' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=27
xxx GRParseContext: beginLine: cur_line="g "Fast Clear" [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parse line "g "Fast Clear" [pad=0]" tokens=<StringArray#0x12093b5d8(["g", "Fast Clear", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8480((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<g>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=27
xxx GRParseContext: beginLine: cur_line="h [pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["h", "[", "pad", "=", "0", "]"])>
xxx parse line "h [pad=0]" tokens=<StringArray#0x12093a7f0(["h", "[", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=27
xxx GRParseContext: beginLine: cur_line="l [pad=0 w=312]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["l", "[", "pad", "=", "0", "w", "=", "312", "]"])>
xxx parse line "l [pad=0 w=312]" tokens=<StringArray#0x12093b5d8(["l", "[", "pad", "=", "0", "w", "=", "312", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='312' prev_node=<l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='312' nTok=']' prev_node=<l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="312"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<l>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=27
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=27
xxx GRParseContext: beginLine: cur_line="e->f "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["e", "-", ">", "f", "Stamp"])>
xxx parse line "e->f "Stamp"" tokens=<StringArray#0x12093a7f0(["e", "-", ">", "f", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Stamp' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=27
xxx GRParseContext: beginLine: cur_line="e->g"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["e", "-", ">", "g"])>
xxx parse line "e->g" tokens=<StringArray#0x12093b5d8(["e", "-", ">", "g"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='e' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=27
xxx popParseContext cur=<class<GRParseContext>#0x150332400((null))> line_idx=27 parse_context_stack=<PointerArray#0x120939af8([<@0x150332400>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 24 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=5 gridH=6
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="e" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="f" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell="l"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell="l" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["e", "", "", "", "g"]
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(64;64)=e
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(68;64)=g
xxx layoutFixedPlaceRowNodes: aRow=["f", "", "", "", "h"]
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(64;65)=f
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(68;65)=h
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: aRow=[" ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: aRow=["l", "", "", "", " "]
xxx layoutFixedPlaceRowNodes: sId="l"
[trc] setCell(64;69)=l
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;69) sz=(5x6)
[trc] debugPrintNodes: n[0] = <e>(0,0) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[1] = <g>(4,0) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <f>(0,1) label="Dispatcher" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="right", "shape_round_amount"="20%", "pad"="0", "h"="75%"]
[trc] debugPrintNodes: n[3] = <h>(4,1) label="h" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[4] = <l>(0,5) label="l" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="312", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintEdges: e[0] = edge<tail<e>(0,0) head<f>(0,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<e>(0,0) head<g>(4,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<e>(0,0) => head<f>(0,1) style=normal
[trc] draw edge: tail<<e>(0,0) => head<g>(4,0) style=normal
main[5x6]=
 _______________ 
|...         ...|
|.e>>>>>>>>>>>g.|
|.v.         ...|
|.v.         ...|
|.f.         .h.|
|...         ...|
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|               |
|...            |
|.l.            |
|...            |
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;773;156)
[...] ===================================================== GraphForm::processGRFile("gr/test38.gr")
xxx Graph::buildPathname: newPathname="gr/test38.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test38.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503e1c80((null))> name="gr/test38.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// hw_toplevel"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=137
xxx GRParseContext: beginLine: cur_line="include diagram.gi"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["include", "diagram", ".", "gi"])>
xxx parse line "include diagram.gi" tokens=<StringArray#0x12093c4b0(["include", "diagram", ".", "gi"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='include' nTok='diagram' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:1) cTok='diagram' nTok='.' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="diagram" numChars=7 next_attrib_value="diagram" tokens=<StringArray#0x12093c4b0(["include", "diagram", ".", "gi"])> token_idx=1
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:2) cTok='.' nTok='gi' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="." numChars=1 next_attrib_value="diagram." tokens=<StringArray#0x12093c4b0(["include", "diagram", ".", "gi"])> token_idx=2
xxx parseNextToken: state=ST_GLOBAL_INCLUDE(1:3) cTok='gi' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GLOBAL_INCLUDE: cTok="gi" numChars=2 next_attrib_value="diagram.gi" tokens=<StringArray#0x12093c4b0(["include", "diagram", ".", "gi"])> token_idx=3
[dbg] Graph::beginIncludeFile: newPathName="gr/diagram.gi"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=1 newCtx=<class<GRParseContext>#0x1503afa80((null))> name="gr/diagram.gi" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// common diagram style classes"
xxx beginIncludeFile: tokens=<null#0x600001f9d240> line_idx=0
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=48
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093b5d8(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093a520(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093b5d8(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093a520(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093b5d8(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093a520(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093b5d8(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=48
xxx GRParseContext: beginLine: cur_line="  ipad               = 3,4,3,4"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["ipad", "=", "3,4,3,4"])>
xxx parse line "  ipad               = 3,4,3,4" tokens=<StringArray#0x12093a520(["ipad", "=", "3,4,3,4"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3,4,3,4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3,4,3,4' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3;4;3;4"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093b5d8(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093a520(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=48
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093b5d8(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093a520(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=48
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093b5d8(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=48
xxx GRParseContext: beginLine: cur_line="  // bg_pattern = line_1"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=48
xxx GRParseContext: beginLine: cur_line="  "
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a520(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=48
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093b5d8(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=48
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093a520(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093b5d8(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=48
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093a520(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=48
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093b5d8(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093a520(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=48
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093b5d8(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=48
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093a520(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b5d8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=48
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093a520(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=48
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093b5d8(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=48
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093a520(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=48
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093b5d8(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=48
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093a520(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b5d8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=48
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093a520(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=48
xxx GRParseContext: beginLine: cur_line="  edge_shape = rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape = rcurve" tokens=<StringArray#0x12093b5d8(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=48
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a520(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a520(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=48
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093b5d8(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=48
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c2a8(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x12093c2a8(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503321c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=48
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093b5d8(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=48
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c2a8(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x12093c2a8(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503321c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=48
xxx GRParseContext: beginLine: cur_line="col_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["col_padding", "=", "8", ";"])>
xxx parse line "col_padding  = 8;" tokens=<StringArray#0x12093b5d8(["col_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503321c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=48
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c2a8(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x12093c2a8(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503321c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=48
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=48
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093b5d8(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503321c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="8", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=48
xxx popParseContext cur=<class<GRParseContext>#0x1503afa80((null))> line_idx=48 parse_context_stack=<PointerArray#0x12093b920([<@0x1503e1c80>, <@0x1503afa80>])> num=2
xxx       restore tokens=<StringArray#0x12093c4b0(["include", "diagram", ".", "gi"])> token_idx=0
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=137
xxx GRParseContext: beginLine: cur_line="zero_margin = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c2a8(["zero_margin", "=", "false"])>
xxx parse line "zero_margin = false" tokens=<StringArray#0x12093c2a8(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=137
xxx GRParseContext: beginLine: cur_line="// row_padding=0"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=137
xxx GRParseContext: beginLine: cur_line="col_padding=0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["col_padding", "=", "0"])>
xxx parse line "col_padding=0" tokens=<StringArray#0x12093c4b0(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503321c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=137
xxx GRParseContext: beginLine: cur_line="ipad=12"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c2a8(["ipad", "=", "12"])>
xxx parse line "ipad=12" tokens=<StringArray#0x12093c2a8(["ipad", "=", "12"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='12' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='12' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503321c0((null))> id=main gr_attribs=<HashTable#0x13005db60(#["label_class"="lb", "ipad"="12", "row_padding"="8", "col_padding"="0", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=137
xxx GRParseContext: beginLine: cur_line="//flatten=0"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=137
xxx GRParseContext: beginLine: cur_line="graph m {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["graph", "m", "{"])>
xxx parse line "graph m {" tokens=<StringArray#0x12093c4b0(["graph", "m", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='m' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='m' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "m"
[dbg] GR::beginSubGraph: begin sub graph 'm' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=m initial gr_attribs=<HashTable#0x13005b5b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=137
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093a7f0(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=137
xxx GRParseContext: beginLine: cur_line="  zero_margin  = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["zero_margin", "=", "false"])>
xxx parse line "  zero_margin  = false" tokens=<StringArray#0x12093c4b0(["zero_margin", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=137
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093a7f0(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=137
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093c4b0(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e86c0((null))> id=m gr_attribs=<HashTable#0x13005b5b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=137
xxx GRParseContext: beginLine: cur_line="  row_padding  = 8"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["row_padding", "=", "8"])>
xxx parse line "  row_padding  = 8" tokens=<StringArray#0x12093a7f0(["row_padding", "=", "8"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e86c0((null))> id=m gr_attribs=<HashTable#0x13005b5b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=137
xxx GRParseContext: beginLine: cur_line="  col_padding  = 32"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["col_padding", "=", "32"])>
xxx parse line "  col_padding  = 32" tokens=<StringArray#0x12093c4b0(["col_padding", "=", "32"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='32' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='32' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e86c0((null))> id=m gr_attribs=<HashTable#0x13005b5b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=137
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093a7f0(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e86c0((null))> id=m gr_attribs=<HashTable#0x13005b5b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=137
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x12093c4b0(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e86c0((null))> id=m gr_attribs=<HashTable#0x13005b5b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=137
xxx GRParseContext: beginLine: cur_line="  bgfill       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["bgfill", "=", "false"])>
xxx parse line "  bgfill       = false" tokens=<StringArray#0x12093a7f0(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[~~~] addGraphAttrib: ST_GRAPH_BODY_ATTRIB_VALUE: invalid attrib_name="bgfill" value="0" (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=137
xxx GRParseContext: beginLine: cur_line="  align        = left"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["align", "=", "left"])>
xxx parse line "  align        = left" tokens=<StringArray#0x12093c4b0(["align", "=", "left"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='left' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='left' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e86c0((null))> id=m gr_attribs=<HashTable#0x13005b5b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=137
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093a7f0(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e86c0((null))> id=m gr_attribs=<HashTable#0x13005b5b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=137
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093c4b0(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e86c0((null))> id=m gr_attribs=<HashTable#0x13005b5b0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="8", "col_padding"="32", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="left", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=137
xxx GRParseContext: beginLine: cur_line="  class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a7f0(["class", "=", "def"])>
xxx parse line "  class=def" tokens=<StringArray#0x12093a7f0(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=137
xxx GRParseContext: beginLine: cur_line="  row="a b c";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c4b0(["row", "=", "a b c", ";"])>
xxx parse line "  row="a b c";" tokens=<StringArray#0x12093c4b0(["row", "=", "a b c", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b c' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b c' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b c"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=137
xxx GRParseContext: beginLine: cur_line="  row="a b d";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["row", "=", "a b d", ";"])>
xxx parse line "  row="a b d";" tokens=<StringArray#0x12093c9d8(["row", "=", "a b d", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a b d' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a b d' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a b d"
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=137
xxx GRParseContext: beginLine: cur_line="  a "SBI"         [align=left,expandy s=48,144 pad_h=0 pad_l=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "pad_l", "=", "15", "]"])>
xxx parse line "  a "SBI"         [align=left,expandy s=48,144 pad_h=0 pad_l=15]" tokens=<StringArray#0x12093c168(["a", "SBI", "[", "align", "=", "left,expandy", "s", "=", "48,144", "pad_h", "=", "0", "pad_l", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='SBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='SBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8440((null))>
[dbg] parseNextToken: assign label "SBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='left,expandy' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='left,expandy' nTok='s' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='s' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='48,144' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='48,144' nTok='pad_h' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="48;144"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_h' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='pad_l' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_l' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='15' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='15' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_l" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=137
xxx GRParseContext: beginLine: cur_line="  b "Register"    [align=centerx,expandy]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parse line "  b "Register"    [align=centerx,expandy]" tokens=<StringArray#0x12093c9d8(["b", "Register", "[", "align", "=", "centerx,expandy", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Register' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Register' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x150166f80((null))>
[dbg] parseNextToken: assign label "Register" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='centerx,expandy' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='centerx,expandy' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=137
xxx GRParseContext: beginLine: cur_line="  c "Control"     [align=expandx,top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parse line "  c "Control"     [align=expandx,top]" tokens=<StringArray#0x12093c168(["c", "Control", "[", "align", "=", "expandx,top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Control' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Control' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x150166f40((null))>
[dbg] parseNextToken: assign label "Control" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,top' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,top' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=137
xxx GRParseContext: beginLine: cur_line="  d "Scratch DMA" [align=expandx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parse line "  d "Scratch DMA" [align=expandx,bottom]" tokens=<StringArray#0x12093c9d8(["d", "Scratch DMA", "[", "align", "=", "expandx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Scratch DMA' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch DMA' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x150166fc0((null))>
[dbg] parseNextToken: assign label "Scratch DMA" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='expandx,bottom' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='expandx,bottom' nTok=']' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="expandx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=137
xxx GRParseContext: beginLine: cur_line="  a<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["a", "<", ">", "b"])>
xxx parse line "  a<>b" tokens=<StringArray#0x12093c168(["a", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<a>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=137
xxx GRParseContext: beginLine: cur_line="  c<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["c", "<", ">", "b"])>
xxx parse line "  c<>b" tokens=<StringArray#0x12093c9d8(["c", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='c' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='<' prev_node=<null> prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=137
xxx GRParseContext: beginLine: cur_line="  d<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c168(["d", "<", ">", "b"])>
xxx parse line "  d<>b" tokens=<StringArray#0x12093c168(["d", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='d' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='<' prev_node=<null> prev_edge=edge<tail<c>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=137
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c9d8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093c9d8(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='}' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=edge<tail<d>(?,?) head<b>(?,?)>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503321c0((null))> graph=<class<Graph>#0x1503e86c0((null))> graph.parent_graph=<class<Graph>#0x1503321c0((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'm'
[dbg] Graph::layout: graph.id="m" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="m" gridW=5 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="b" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="d"
xxx layoutFixedPlaceRowNodes: aRow=["a", " ", "b", " ", "c"]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;64)=a
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(66;64)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(68;64)=c
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "", " ", "d"]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(68;65)=d
[dbg] Graph::trimToBoundingBox: bb=(64;64;68;65) sz=(5x2)
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="15", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[0] = <a>(0,0) label="SBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="15", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;expandy", "shape_round_amount"="20%", "h"="144"]
[trc] debugPrintNodes: n[1] = <b>(2,0) label="Register" gr_attribs=#["class"="def", "label_class"="lb", "sh"="2", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[2] = <c>(4,0) label="Control" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;top", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <d>(4,1) label="Scratch DMA" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="expandx;bottom", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<c>(4,0) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(4,1) head<b>(2,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=137
xxx GRParseContext: beginLine: cur_line="graph l {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938fe0(["graph", "l", "{"])>
xxx parse line "graph l {" tokens=<StringArray#0x120938fe0(["graph", "l", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='graph' nTok='l' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_ID(200:1) cTok='l' nTok='{' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_ID: graph id is "l"
[dbg] GR::beginSubGraph: begin sub graph 'l' (parent='main') fwd_node=<null>
[trc] GR::beginSubGraph: id=l initial gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="8", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx parseNextToken: state=ST_GRAPH_BEGIN(201:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=137
xxx GRParseContext: beginLine: cur_line="  layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bcb8(["layout", "=", "fixed"])>
xxx parse line "  layout       = fixed" tokens=<StringArray#0x12093bcb8(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=137
xxx GRParseContext: beginLine: cur_line="  zero_margin  = true"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938fe0(["zero_margin", "=", "true"])>
xxx parse line "  zero_margin  = true" tokens=<StringArray#0x120938fe0(["zero_margin", "=", "true"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=137
xxx GRParseContext: beginLine: cur_line="  unfold       = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bcb8(["unfold", "=", "false"])>
xxx parse line "  unfold       = false" tokens=<StringArray#0x12093bcb8(["unfold", "=", "false"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='unfold' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=137
xxx GRParseContext: beginLine: cur_line="  row_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938fe0(["row_padding", "=", "0"])>
xxx parse line "  row_padding  = 0" tokens=<StringArray#0x120938fe0(["row_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e8640((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=137
xxx GRParseContext: beginLine: cur_line="  col_padding  = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bcb8(["col_padding", "=", "0"])>
xxx parse line "  col_padding  = 0" tokens=<StringArray#0x12093bcb8(["col_padding", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e8640((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=137
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938fe0(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x120938fe0(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e8640((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%"])>
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=137
xxx GRParseContext: beginLine: cur_line="  pad          = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bcb8(["pad", "=", "0"])>
xxx parse line "  pad          = 0" tokens=<StringArray#0x12093bcb8(["pad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='pad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e8640((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=137
xxx GRParseContext: beginLine: cur_line="  ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938fe0(["ipad", "=", "0"])>
xxx parse line "  ipad         = 0" tokens=<StringArray#0x120938fe0(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e8640((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=137
xxx GRParseContext: beginLine: cur_line="  //bgcolor=#f00"
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=137
xxx GRParseContext: beginLine: cur_line="  border_shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bcb8(["border_shape", "=", "none"])>
xxx parse line "  border_shape = none" tokens=<StringArray#0x12093bcb8(["border_shape", "=", "none"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e8640((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=137
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938fe0(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x120938fe0(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e8640((null))> id=l gr_attribs=<HashTable#0x13005daa0(#["label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "edge_width"="1.5", "ipad"="0", "row_padding"="0", "col_padding"="0", "shape"="round", "arrow_len"="9", "xmajor"="1", "arrow_angle"="30", "border_width"="0", "border_shape"="none", "align"="center", "shape_round_amount"="20%", "pad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=137
xxx GRParseContext: beginLine: cur_line="  row="STUV""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bcb8(["row", "=", "STUV"])>
xxx parse line "  row="STUV"" tokens=<StringArray#0x12093bcb8(["row", "=", "STUV"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='STUV' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='STUV' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="STUV"
xxx addLayoutRow: add implicit node 'S'
xxx addLayoutRow: add implicit node 'T'
xxx addLayoutRow: add implicit node 'U'
xxx addLayoutRow: add implicit node 'V'
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=137
xxx GRParseContext: beginLine: cur_line="  S "Shader Core 0" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a138(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  S "Shader Core 0" [sgx=shcore font=small]" tokens=<StringArray#0x12093a138(["S", "Shader Core 0", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='S' nTok='Shader Core 0' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'S' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 0' nTok='[' prev_node=<S>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x150166f00((null))>
[dbg] parseNextToken: assign label "Shader Core 0" to node 'S'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<S>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<S>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<S>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<S>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<S>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=137
xxx GRParseContext: beginLine: cur_line="  T "Shader Core 1" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bcb8(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  T "Shader Core 1" [sgx=shcore font=small]" tokens=<StringArray#0x12093bcb8(["T", "Shader Core 1", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='T' nTok='Shader Core 1' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'T' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 1' nTok='[' prev_node=<T>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1501630c0((null))>
[dbg] parseNextToken: assign label "Shader Core 1" to node 'T'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<T>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<T>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<T>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<T>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<T>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=137
xxx GRParseContext: beginLine: cur_line="  U "Shader Core 2" [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a138(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  U "Shader Core 2" [sgx=shcore font=small]" tokens=<StringArray#0x12093a138(["U", "Shader Core 2", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='U' nTok='Shader Core 2' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'U' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Core 2' nTok='[' prev_node=<U>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x150163080((null))>
[dbg] parseNextToken: assign label "Shader Core 2" to node 'U'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<U>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<U>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<U>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<U>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<U>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=137
xxx GRParseContext: beginLine: cur_line="  V "..."           [sgx=shcore font=small]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bcb8(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parse line "  V "..."           [sgx=shcore font=small]" tokens=<StringArray#0x12093bcb8(["V", "...", "[", "sgx", "=", "shcore", "font", "=", "small", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='V' nTok='...' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'V' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='...' nTok='[' prev_node=<V>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x150163040((null))>
[dbg] parseNextToken: assign label "..." to node 'V'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<V>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<V>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='shcore' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='shcore' nTok='font' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="shcore"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<V>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok=']' prev_node=<V>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<V>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=137
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a138(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a138(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503321c0((null))> graph=<class<Graph>#0x1503e8640((null))> graph.parent_graph=<class<Graph>#0x1503321c0((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'l'
[dbg] Graph::layout: graph.id="l" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="l" gridW=4 gridH=1
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="S"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="T"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="U"
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="V"
xxx layoutFixedPlaceRowNodes: aRow=["S", "T", "U", "V"]
xxx layoutFixedPlaceRowNodes: sId="S"
[trc] setCell(64;64)=S
xxx layoutFixedPlaceRowNodes: sId="T"
[trc] setCell(65;64)=T
xxx layoutFixedPlaceRowNodes: sId="U"
[trc] setCell(66;64)=U
xxx layoutFixedPlaceRowNodes: sId="V"
[trc] setCell(67;64)=V
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;64) sz=(4x1)
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[0] = <S>(0,0) label="Shader Core 0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[1] = <T>(1,0) label="Shader Core 1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[2] = <U>(2,0) label="Shader Core 2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
[trc] debugPrintNodes: n[3] = <V>(3,0) label="..." gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "font"="small", "align"="center", "shape_round_amount"="20%", "sgx"="shcore"]
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=137
xxx GRParseContext: beginLine: cur_line="class=def // can skip"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a390(["class", "=", "def"])>
xxx parse line "class=def " tokens=<StringArray#0x12093a390(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=137
xxx GRParseContext: beginLine: cur_line="row="mmmmm pppp  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a138(["row", "=", "mmmmm pppp  ", ";"])>
xxx parse line "row="mmmmm pppp  ";" tokens=<StringArray#0x12093a138(["row", "=", "mmmmm pppp  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm pppp  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm pppp  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm pppp  "
xxx addLayoutRow: add implicit node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=137
xxx GRParseContext: beginLine: cur_line="row="mmmmm oooo  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a110(["row", "=", "mmmmm oooo  ", ";"])>
xxx parse line "row="mmmmm oooo  ";" tokens=<StringArray#0x12093a110(["row", "=", "mmmmm oooo  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm oooo  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm oooo  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm oooo  "
xxx addLayoutRow: add implicit node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=137
xxx GRParseContext: beginLine: cur_line="row="mmmmm nnnn  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939ee0(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parse line "row="mmmmm nnnn  ";" tokens=<StringArray#0x120939ee0(["row", "=", "mmmmm nnnn  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='mmmmm nnnn  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='mmmmm nnnn  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="mmmmm nnnn  "
xxx addLayoutRow: add implicit node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a0 b  cccc  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209398c8(["row", "=", "a0 b  cccc  ", ";"])>
xxx parse line "row="a0 b  cccc  ";" tokens=<StringArray#0x1209398c8(["row", "=", "a0 b  cccc  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a0 b  cccc  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a0 b  cccc  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a0 b  cccc  "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node '0'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a     dddd  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093caa0(["row", "=", "a     dddd  ", ";"])>
xxx parse line "row="a     dddd  ";" tokens=<StringArray#0x12093caa0(["row", "=", "a     dddd  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     dddd  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     dddd  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     dddd  "
xxx addLayoutRow: add implicit node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a     eeee g";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a660(["row", "=", "a     eeee g", ";"])>
xxx parse line "row="a     eeee g";" tokens=<StringArray#0x12093a660(["row", "=", "a     eeee g", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     eeee g' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     eeee g' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     eeee g"
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a1 h  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c780(["row", "=", "a1 h  ffff  ", ";"])>
xxx parse line "row="a1 h  ffff  ";" tokens=<StringArray#0x12093c780(["row", "=", "a1 h  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a1 h  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a1 h  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a1 h  ffff  "
xxx addLayoutRow: add implicit node '1'
xxx addLayoutRow: add implicit node 'h'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a i   ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce10(["row", "=", "a i   ffff  ", ";"])>
xxx parse line "row="a i   ffff  ";" tokens=<StringArray#0x12093ce10(["row", "=", "a i   ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a i   ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a i   ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a i   ffff  "
xxx addLayoutRow: add implicit node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a  j  ffff  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ba88(["row", "=", "a  j  ffff  ", ";"])>
xxx parse line "row="a  j  ffff  ";" tokens=<StringArray#0x12093ba88(["row", "=", "a  j  ffff  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  j  ffff  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  j  ffff  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  j  ffff  "
xxx addLayoutRow: add implicit node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a k   4444  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a430(["row", "=", "a k   4444  ", ";"])>
xxx parse line "row="a k   4444  ";" tokens=<StringArray#0x12093a430(["row", "=", "a k   4444  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a k   4444  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a k   4444  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a k   4444  "
xxx addLayoutRow: add implicit node 'k'
xxx addLayoutRow: add implicit node '4'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a     5678  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9a8(["row", "=", "a     5678  ", ";"])>
xxx parse line "row="a     5678  ";" tokens=<StringArray#0x12093a9a8(["row", "=", "a     5678  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     5678  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     5678  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     5678  "
xxx addLayoutRow: add implicit node '5'
xxx addLayoutRow: add implicit node '6'
xxx addLayoutRow: add implicit node '7'
xxx addLayoutRow: add implicit node '8'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=137
xxx GRParseContext: beginLine: cur_line="row="a2   3llllA9";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c870(["row", "=", "a2   3llllA9", ";"])>
xxx parse line "row="a2   3llllA9";" tokens=<StringArray#0x12093c870(["row", "=", "a2   3llllA9", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a2   3llllA9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a2   3llllA9' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a2   3llllA9"
xxx addLayoutRow: add implicit node '2'
xxx addLayoutRow: add implicit node '3'
xxx addLayoutRow: add implicit node 'A'
xxx addLayoutRow: add implicit node '9'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=137
xxx GRParseContext: beginLine: cur_line="row="aB          ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["row", "=", "aB          "])>
xxx parse line "row="aB          "" tokens=<StringArray#0x12093a318(["row", "=", "aB          "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aB          ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aB          ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aB          "
xxx addLayoutRow: add implicit node 'B'
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=137
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x120939e18(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=137
xxx GRParseContext: beginLine: cur_line="0 [pad_h=0 w=0 align=left,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["0", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parse line "0 [pad_h=0 w=0 align=left,centery]" tokens=<StringArray#0x12093a318(["0", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='0' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '0' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad_h' prev_node=<0>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<0>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad_h' nTok='=' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<0>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='align' prev_node=<0>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='left,centery' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='left,centery' nTok=']' prev_node=<0>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<0>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=137
xxx GRParseContext: beginLine: cur_line="1 [pad_h=0 w=0 align=left,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["1", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parse line "1 [pad_h=0 w=0 align=left,centery]" tokens=<StringArray#0x120939e18(["1", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='1' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '1' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad_h' prev_node=<1>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<1>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad_h' nTok='=' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<1>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='align' prev_node=<1>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='left,centery' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='left,centery' nTok=']' prev_node=<1>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<1>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=137
xxx GRParseContext: beginLine: cur_line="2 [pad_h=0 w=0 align=left,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["2", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parse line "2 [pad_h=0 w=0 align=left,centery]" tokens=<StringArray#0x12093a318(["2", "[", "pad_h", "=", "0", "w", "=", "0", "align", "=", "left,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='2' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '2' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad_h' prev_node=<2>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<2>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad_h' nTok='=' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<2>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='align' prev_node=<2>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='left,centery' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='left,centery' nTok=']' prev_node=<2>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<2>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=137
xxx GRParseContext: beginLine: cur_line="3 [pad_h=0 w=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["3", "[", "pad_h", "=", "0", "w", "=", "0", "]"])>
xxx parse line "3 [pad_h=0 w=0]" tokens=<StringArray#0x120939e18(["3", "[", "pad_h", "=", "0", "w", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='3' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '3' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad_h' prev_node=<3>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<3>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad_h' nTok='=' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='w' prev_node=<3>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='w' nTok='=' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok=']' prev_node=<3>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<3>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=137
xxx GRParseContext: beginLine: cur_line="4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parse line "4 [pad=0 s=4     align=center shape=round bgcolor=#000 helper=true]" tokens=<StringArray#0x12093a318(["4", "[", "pad", "=", "0", "s", "=", "4", "align", "=", "center", "shape", "=", "round", "bgcolor", "=", "#000", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='4' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='4' nTok='align' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='shape' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='shape' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='round' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='round' nTok='bgcolor' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="round"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok='bgcolor' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:15) cTok='=' nTok='#000' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:16) cTok='#000' nTok='helper' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#000"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:17) cTok='helper' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:18) cTok='=' nTok='true' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:19) cTok='true' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:20) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=137
xxx GRParseContext: beginLine: cur_line="5 [pad=0 s=16,0  align=centerx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["5", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parse line "5 [pad=0 s=16,0  align=centerx,bottom]" tokens=<StringArray#0x120939e18(["5", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='5' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '5' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<5>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<5>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<5>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,0' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,0' nTok='align' prev_node=<5>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='centerx,bottom' prev_node=<5>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='centerx,bottom' nTok=']' prev_node=<5>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<5>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=137
xxx GRParseContext: beginLine: cur_line="6 [pad=0 s=16,0  align=centerx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["6", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parse line "6 [pad=0 s=16,0  align=centerx,bottom]" tokens=<StringArray#0x12093a318(["6", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='6' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '6' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<6>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<6>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<6>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,0' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,0' nTok='align' prev_node=<6>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='centerx,bottom' prev_node=<6>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='centerx,bottom' nTok=']' prev_node=<6>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<6>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=137
xxx GRParseContext: beginLine: cur_line="7 [pad=0 s=16,0  align=centerx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["7", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parse line "7 [pad=0 s=16,0  align=centerx,bottom]" tokens=<StringArray#0x120939e18(["7", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='7' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '7' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<7>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<7>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<7>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,0' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,0' nTok='align' prev_node=<7>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='centerx,bottom' prev_node=<7>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='centerx,bottom' nTok=']' prev_node=<7>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<7>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=137
xxx GRParseContext: beginLine: cur_line="8 [pad=0 s=16,0  align=centerx,bottom]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["8", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parse line "8 [pad=0 s=16,0  align=centerx,bottom]" tokens=<StringArray#0x12093a318(["8", "[", "pad", "=", "0", "s", "=", "16,0", "align", "=", "centerx,bottom", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='8' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '8' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<8>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<8>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<8>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,0' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,0' nTok='align' prev_node=<8>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='centerx,bottom' prev_node=<8>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='centerx,bottom' nTok=']' prev_node=<8>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;bottom"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<8>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=137
xxx GRParseContext: beginLine: cur_line="9 [pad=0 s=16,16 align=center helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["9", "[", "pad", "=", "0", "s", "=", "16,16", "align", "=", "center", "helper", "=", "true", "]"])>
xxx parse line "9 [pad=0 s=16,16 align=center helper=true]" tokens=<StringArray#0x120939e18(["9", "[", "pad", "=", "0", "s", "=", "16,16", "align", "=", "center", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='9' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '9' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<9>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<9>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<9>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='align' prev_node=<9>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='center' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='center' nTok='helper' prev_node=<9>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok='helper' nTok='=' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:12) cTok='=' nTok='true' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:13) cTok='true' nTok=']' prev_node=<9>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:14) cTok=']' nTok='' prev_node=<9>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=137
xxx GRParseContext: beginLine: cur_line="A [pad=0 s=0,16  align=left,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["A", "[", "pad", "=", "0", "s", "=", "0,16", "align", "=", "left,centery", "]"])>
xxx parse line "A [pad=0 s=0,16  align=left,centery]" tokens=<StringArray#0x12093a318(["A", "[", "pad", "=", "0", "s", "=", "0,16", "align", "=", "left,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='A' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'A' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<A>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<A>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<A>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0,16' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0,16' nTok='align' prev_node=<A>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="0;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='left,centery' prev_node=<A>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='left,centery' nTok=']' prev_node=<A>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<A>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=137
xxx GRParseContext: beginLine: cur_line="B [pad=0 s=16,16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["B", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parse line "B [pad=0 s=16,16 helper=true]" tokens=<StringArray#0x120939e18(["B", "[", "pad", "=", "0", "s", "=", "16,16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='B' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'B' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<B>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<B>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='s' prev_node=<B>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='s' nTok='=' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16,16' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16,16' nTok='helper' prev_node=<B>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<B>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<B>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<B>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=137
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093a318(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=91 #lines=137
xxx GRParseContext: beginLine: cur_line="a "MBI"                  [align=right,expandy w=48 pad=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["a", "MBI", "[", "align", "=", "right,expandy", "w", "=", "48", "pad", "=", "0", "]"])>
xxx parse line "a "MBI"                  [align=right,expandy w=48 pad=0]" tokens=<StringArray#0x120939e18(["a", "MBI", "[", "align", "=", "right,expandy", "w", "=", "48", "pad", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e82c0((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='right,expandy' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='right,expandy' nTok='w' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='w' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='48' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='48' nTok='pad' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=92 #lines=137
xxx GRParseContext: beginLine: cur_line="b "ZSCache"              [align=right,centery]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["b", "ZSCache", "[", "align", "=", "right,centery", "]"])>
xxx parse line "b "ZSCache"              [align=right,centery]" tokens=<StringArray#0x12093a318(["b", "ZSCache", "[", "align", "=", "right,centery", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='ZSCache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSCache' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8240((null))>
[dbg] parseNextToken: assign label "ZSCache" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='align' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='align' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='right,centery' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='right,centery' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="right;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=93 #lines=137
xxx GRParseContext: beginLine: cur_line="c "ZSUnit"               [sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["c", "ZSUnit", "[", "sgx", "=", "zs", "]"])>
xxx parse line "c "ZSUnit"               [sgx=zs]" tokens=<StringArray#0x120939e18(["c", "ZSUnit", "[", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='ZSUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8280((null))>
[dbg] parseNextToken: assign label "ZSUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zs' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zs' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=94 #lines=137
xxx GRParseContext: beginLine: cur_line="d "Multisample Assembly" [sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["d", "Multisample Assembly", "[", "sgx", "=", "zs", "]"])>
xxx parse line "d "Multisample Assembly" [sgx=zs]" tokens=<StringArray#0x12093a318(["d", "Multisample Assembly", "[", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Multisample Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Multisample Assembly' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e81c0((null))>
[dbg] parseNextToken: assign label "Multisample Assembly" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zs' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zs' nTok=']' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=95 #lines=137
xxx GRParseContext: beginLine: cur_line="e "Address Encoder"      [sgx=zs]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["e", "Address Encoder", "[", "sgx", "=", "zs", "]"])>
xxx parse line "e "Address Encoder"      [sgx=zs]" tokens=<StringArray#0x120939e18(["e", "Address Encoder", "[", "sgx", "=", "zs", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Address Encoder' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Address Encoder' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8180((null))>
[dbg] parseNextToken: assign label "Address Encoder" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='sgx' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='sgx' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='zs' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='zs' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="sgx" value="zs"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=96 #lines=137
xxx GRParseContext: beginLine: cur_line="f "Dispatcher"           [h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%] //shape=rhomb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["f", "Dispatcher", "[", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parse line "f "Dispatcher"           [h=75% pad_h=0 align=center ipad_l=6 ipad_r=6 bg_pattern=zigzag_4 bg_pattern_intensity=8%] " tokens=<StringArray#0x12093a318(["f", "Dispatcher", "[", "h", "=", "75%", "pad_h", "=", "0", "align", "=", "center", "ipad_l", "=", "6", "ipad_r", "=", "6", "bg_pattern", "=", "zigzag_4", "bg_pattern_intensity", "=", "8%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Dispatcher' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Dispatcher' nTok='[' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8140((null))>
[dbg] parseNextToken: assign label "Dispatcher" to node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='75%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='75%' nTok='pad_h' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="h" value="75%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_h' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='0' nTok='align' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='align' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='center' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='center' nTok='ipad_l' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="center"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='ipad_l' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='6' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='6' nTok='ipad_r' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_l" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='ipad_r' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='6' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='6' nTok='bg_pattern' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad_r" value="6"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='bg_pattern' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='zigzag_4' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='zigzag_4' nTok='bg_pattern_intensity' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="zigzag_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok='bg_pattern_intensity' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:22) cTok='=' nTok='8%' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:23) cTok='8%' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="8%"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:24) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=97 #lines=137
xxx GRParseContext: beginLine: cur_line="g "Fast Clear"           [pad_h=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["g", "Fast Clear", "[", "pad_h", "=", "0", "]"])>
xxx parse line "g "Fast Clear"           [pad_h=0]" tokens=<StringArray#0x120939e18(["g", "Fast Clear", "[", "pad_h", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Fast Clear' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Fast Clear' nTok='[' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8200((null))>
[dbg] parseNextToken: assign label "Fast Clear" to node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_h' prev_node=<g>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<g>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_h' nTok='=' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<g>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_h" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=98 #lines=137
xxx GRParseContext: beginLine: cur_line="h "Vertex Assembly"      []"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["h", "Vertex Assembly", "[", "]"])>
xxx parse line "h "Vertex Assembly"      []" tokens=<StringArray#0x12093a318(["h", "Vertex Assembly", "[", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Vertex Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Vertex Assembly' nTok='[' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e80c0((null))>
[dbg] parseNextToken: assign label "Vertex Assembly" to node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok=']' prev_node=<h>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<h>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=99 #lines=137
xxx GRParseContext: beginLine: cur_line="i "Index Cache"          []"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["i", "Index Cache", "[", "]"])>
xxx parse line "i "Index Cache"          []" tokens=<StringArray#0x120939e18(["i", "Index Cache", "[", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='Index Cache' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'i' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Index Cache' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8040((null))>
[dbg] parseNextToken: assign label "Index Cache" to node 'i'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok=']' prev_node=<i>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<i>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok=']' nTok='' prev_node=<i>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=100 #lines=137
xxx GRParseContext: beginLine: cur_line="j "Primitive Assembly"   []"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["j", "Primitive Assembly", "[", "]"])>
xxx parse line "j "Primitive Assembly"   []" tokens=<StringArray#0x12093a318(["j", "Primitive Assembly", "[", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='Primitive Assembly' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'j' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Primitive Assembly' nTok='[' prev_node=<j>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8080((null))>
[dbg] parseNextToken: assign label "Primitive Assembly" to node 'j'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok=']' prev_node=<j>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<j>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok=']' nTok='' prev_node=<j>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=101 #lines=137
xxx GRParseContext: beginLine: cur_line="k "Scratch\nRAM"         [pad_b=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["k", "Scratch\nRAM", "[", "pad_b", "=", "16", "]"])>
xxx parse line "k "Scratch\nRAM"         [pad_b=16]" tokens=<StringArray#0x120939e18(["k", "Scratch\nRAM", "[", "pad_b", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'k' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='[' prev_node=<k>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8000((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'k'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_b' prev_node=<k>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<k>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_b' nTok='=' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='16' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='16' nTok=']' prev_node=<k>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<k>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=102 #lines=137
xxx GRParseContext: beginLine: cur_line="l                        [pad=0 border_width=0 align=top]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["l", "[", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]"])>
xxx parse line "l                        [pad=0 border_width=0 align=top]" tokens=<StringArray#0x12093a318(["l", "[", "pad", "=", "0", "border_width", "=", "0", "align", "=", "top", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='l' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'l' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='pad' prev_node=<graph:l>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:l>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='pad' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0' nTok='border_width' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='border_width' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='0' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='0' nTok='align' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='align' nTok='=' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='top' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='top' nTok=']' prev_node=<graph:l>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<graph:l>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=103 #lines=137
xxx GRParseContext: beginLine: cur_line="m                        [align=left,centery pad_r=60]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parse line "m                        [align=left,centery pad_r=60]" tokens=<StringArray#0x120939e18(["m", "[", "align", "=", "left,centery", "pad_r", "=", "60", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='m' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'm' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='align' prev_node=<graph:m>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<graph:m>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='align' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='left,centery' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='left,centery' nTok='pad_r' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="left;centery"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad_r' nTok='=' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='60' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='60' nTok=']' prev_node=<graph:m>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_r" value="60"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='' prev_node=<graph:m>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=104 #lines=137
xxx GRParseContext: beginLine: cur_line="n "ZSFIFO"               [pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["n", "ZSFIFO", "[", "pad_b", "=", "24", "]"])>
xxx parse line "n "ZSFIFO"               [pad_b=24]" tokens=<StringArray#0x12093a318(["n", "ZSFIFO", "[", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='ZSFIFO' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'n' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSFIFO' nTok='[' prev_node=<n>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8500((null))>
[dbg] parseNextToken: assign label "ZSFIFO" to node 'n'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_b' prev_node=<n>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<n>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_b' nTok='=' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='24' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='24' nTok=']' prev_node=<n>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<n>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=105 #lines=137
xxx GRParseContext: beginLine: cur_line="o "ZSScheduler"          [pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["o", "ZSScheduler", "[", "pad_b", "=", "24", "]"])>
xxx parse line "o "ZSScheduler"          [pad_b=24]" tokens=<StringArray#0x120939e18(["o", "ZSScheduler", "[", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='ZSScheduler' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'o' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='ZSScheduler' nTok='[' prev_node=<o>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8540((null))>
[dbg] parseNextToken: assign label "ZSScheduler" to node 'o'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_b' prev_node=<o>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<o>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_b' nTok='=' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='24' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='24' nTok=']' prev_node=<o>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<o>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=106 #lines=137
xxx GRParseContext: beginLine: cur_line="p "Rasterizer"           [pad_b=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["p", "Rasterizer", "[", "pad_b", "=", "24", "]"])>
xxx parse line "p "Rasterizer"           [pad_b=24]" tokens=<StringArray#0x12093a318(["p", "Rasterizer", "[", "pad_b", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='Rasterizer' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'p' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Rasterizer' nTok='[' prev_node=<p>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e8580((null))>
[dbg] parseNextToken: assign label "Rasterizer" to node 'p'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_b' prev_node=<p>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<p>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_b' nTok='=' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='24' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='24' nTok=']' prev_node=<p>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<p>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=107 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=108 #lines=137
xxx GRParseContext: beginLine: cur_line="p->o "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["p", "-", ">", "o", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "p->o "Stamp" [pad_r=20]" tokens=<StringArray#0x120939e18(["p", "-", ">", "o", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='p' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='o' prev_node=<p>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='o' nTok='Stamp' prev_node=<p>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<o>(?,?) prev_edge=edge<tail<p>(?,?) head<o>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=109 #lines=137
xxx GRParseContext: beginLine: cur_line="o->n "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["o", "-", ">", "n", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "o->n "Stamp" [pad_r=20]" tokens=<StringArray#0x12093a318(["o", "-", ">", "n", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='n' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='n' nTok='Stamp' prev_node=<o>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<n>(?,?) prev_edge=edge<tail<o>(?,?) head<n>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=110 #lines=137
xxx GRParseContext: beginLine: cur_line="n->c "Stamp" [pad_r=20]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["n", "-", ">", "c", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parse line "n->c "Stamp" [pad_r=20]" tokens=<StringArray#0x120939e18(["n", "-", ">", "c", "Stamp", "[", "pad_r", "=", "20", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='n' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='c' prev_node=<n>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='c' nTok='Stamp' prev_node=<n>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Stamp' nTok='[' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='20' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='20' nTok=']' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="20"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=edge<tail<n>(?,?) head<c>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=111 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=112 #lines=137
xxx GRParseContext: beginLine: cur_line="o->b "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["o", "-", ">", "b", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parse line "o->b "Prefetch" [xmajor_head=false edge_shape=rcurve pad_b=62.5]" tokens=<StringArray#0x12093a318(["o", "-", ">", "b", "Prefetch", "[", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "pad_b", "=", "62", ".", "5", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='o' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<o>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='Prefetch' prev_node=<o>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Prefetch' nTok='[' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='xmajor_head' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='xmajor_head' nTok='=' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='false' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='false' nTok='edge_shape' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='edge_shape' nTok='=' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='rcurve' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='rcurve' nTok='pad_b' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='pad_b' nTok='=' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='62' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='62' nTok='.' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:15) cTok='.' nTok='5' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:16) cTok='5' nTok=']' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_b" value="62.5"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:17) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<o>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=113 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=114 #lines=137
xxx GRParseContext: beginLine: cur_line="0<>b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["0", "<", ">", "b"])>
xxx parse line "0<>b" tokens=<StringArray#0x120939e18(["0", "<", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='0' nTok='<' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<0>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<0>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<0>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=115 #lines=137
xxx GRParseContext: beginLine: cur_line="b<>c"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["b", "<", ">", "c"])>
xxx parse line "b<>c" tokens=<StringArray#0x12093a318(["b", "<", ">", "c"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='b' nTok='<' prev_node=<b>(?,?) prev_edge=edge<tail<0>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='<' prev_node=<null> prev_edge=edge<tail<0>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='c' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='c' nTok='' prev_node=<b>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<b>(?,?) head<c>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=116 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=117 #lines=137
xxx GRParseContext: beginLine: cur_line="c->d->e->f "Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["c", "-", ">", "d", "-", ">", "e", "-", ">", "f", "Stamp"])>
xxx parse line "c->d->e->f "Stamp"" tokens=<StringArray#0x120939e18(["c", "-", ">", "d", "-", ">", "e", "-", ">", "f", "Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='c' nTok='-' prev_node=<c>(?,?) prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='-' prev_node=<null> prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='d' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='d' nTok='-' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='e' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='e' nTok='-' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:7) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:8) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:9) cTok='f' nTok='Stamp' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:10) cTok='Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=118 #lines=137
xxx GRParseContext: beginLine: cur_line="e->g "Tile" [pad_t=15]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["e", "-", ">", "g", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parse line "e->g "Tile" [pad_t=15]" tokens=<StringArray#0x12093a318(["e", "-", ">", "g", "Tile", "[", "pad_t", "=", "15", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='e' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='-' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='Tile' prev_node=<e>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_t' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_t' nTok='=' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='15' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='15' nTok=']' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_t" value="15"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok=']' nTok='' prev_node=<g>(?,?) prev_edge=edge<tail<e>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=119 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=120 #lines=137
xxx GRParseContext: beginLine: cur_line="f->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["f", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parse line "f->4 "Coordinate Data\nContext Data\nMemory Write" [arrow_shape=none pad_l=50]" tokens=<StringArray#0x120939e18(["f", "-", ">", "4", "Coordinate Data\nContext Data\nMemory Write", "[", "arrow_shape", "=", "none", "pad_l", "=", "50", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='4' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='4' nTok='Coordinate Data\nContext Data\nMemory Write' prev_node=<f>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Coordinate Data\nContext Data\nMemory Write' nTok='[' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='arrow_shape' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='arrow_shape' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='none' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='none' nTok='pad_l' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='pad_l' nTok='=' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='50' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='50' nTok=']' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_l" value="50"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=edge<tail<f>(?,?) head<4>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=121 #lines=137
xxx GRParseContext: beginLine: cur_line="4->5 [xmajor_tail=true edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["4", "-", ">", "5", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4->5 [xmajor_tail=true edge_shape=rcurve]" tokens=<StringArray#0x12093a318(["4", "-", ">", "5", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='5' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='5' nTok='[' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='true' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='true' nTok='edge_shape' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='edge_shape' nTok='=' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='rcurve' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='rcurve' nTok=']' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<5>(?,?) prev_edge=edge<tail<4>(?,?) head<5>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=122 #lines=137
xxx GRParseContext: beginLine: cur_line="4->6 [xmajor_tail=true edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["4", "-", ">", "6", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4->6 [xmajor_tail=true edge_shape=rcurve]" tokens=<StringArray#0x120939e18(["4", "-", ">", "6", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='6' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='6' nTok='[' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='true' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='true' nTok='edge_shape' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='edge_shape' nTok='=' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='rcurve' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='rcurve' nTok=']' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<6>(?,?) prev_edge=edge<tail<4>(?,?) head<6>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=123 #lines=137
xxx GRParseContext: beginLine: cur_line="4->7 [xmajor_tail=true edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["4", "-", ">", "7", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4->7 [xmajor_tail=true edge_shape=rcurve]" tokens=<StringArray#0x12093a318(["4", "-", ">", "7", "[", "xmajor_tail", "=", "true", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='7' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='7' nTok='[' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='true' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='true' nTok='edge_shape' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='edge_shape' nTok='=' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='rcurve' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='rcurve' nTok=']' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<7>(?,?) prev_edge=edge<tail<4>(?,?) head<7>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=124 #lines=137
xxx GRParseContext: beginLine: cur_line="4->8 [xmajor_tail=true xmajor_head=false edge_shape=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["4", "-", ">", "8", "[", "xmajor_tail", "=", "true", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "]"])>
xxx parse line "4->8 [xmajor_tail=true xmajor_head=false edge_shape=rcurve]" tokens=<StringArray#0x120939e18(["4", "-", ">", "8", "[", "xmajor_tail", "=", "true", "xmajor_head", "=", "false", "edge_shape", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='8' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='8' nTok='[' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='true' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='true' nTok='xmajor_head' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='false' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='false' nTok='edge_shape' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok='edge_shape' nTok='=' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:12) cTok='=' nTok='rcurve' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:13) cTok='rcurve' nTok=']' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
[trc] Edge::addEdgeAttrib: key="edge_shape" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:14) cTok=']' nTok='' prev_node=<8>(?,?) prev_edge=edge<tail<4>(?,?) head<8>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=125 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=126 #lines=137
xxx GRParseContext: beginLine: cur_line="g->9 "Tile" [pad_r=18 xmajor_head=true arrow_shape=none]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["g", "-", ">", "9", "Tile", "[", "pad_r", "=", "18", "xmajor_head", "=", "true", "arrow_shape", "=", "none", "]"])>
xxx parse line "g->9 "Tile" [pad_r=18 xmajor_head=true arrow_shape=none]" tokens=<StringArray#0x12093a318(["g", "-", ">", "9", "Tile", "[", "pad_r", "=", "18", "xmajor_head", "=", "true", "arrow_shape", "=", "none", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='9' prev_node=<g>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='9' nTok='Tile' prev_node=<g>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Tile' nTok='[' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:5) cTok='[' nTok='pad_r' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:6) cTok='pad_r' nTok='=' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:7) cTok='=' nTok='18' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:8) cTok='18' nTok='xmajor_head' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
[trc] Edge::addEdgeAttrib: key="pad_r" value="18"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:9) cTok='xmajor_head' nTok='=' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:10) cTok='=' nTok='true' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:11) cTok='true' nTok='arrow_shape' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:12) cTok='arrow_shape' nTok='=' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:13) cTok='=' nTok='none' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:14) cTok='none' nTok=']' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_shape" value="none"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:15) cTok=']' nTok='' prev_node=<9>(?,?) prev_edge=edge<tail<g>(?,?) head<9>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=127 #lines=137
xxx GRParseContext: beginLine: cur_line="9->A"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["9", "-", ">", "A"])>
xxx parse line "9->A" tokens=<StringArray#0x120939e18(["9", "-", ">", "A"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='9' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='A' prev_node=<9>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='A' nTok='' prev_node=<9>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<9>(?,?) head<A>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=128 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=129 #lines=137
xxx GRParseContext: beginLine: cur_line="1<>h"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["1", "<", ">", "h"])>
xxx parse line "1<>h" tokens=<StringArray#0x12093a318(["1", "<", ">", "h"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='1' nTok='<' prev_node=<A>(?,?) prev_edge=edge<tail<9>(?,?) head<A>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='1' nTok='<' prev_node=<null> prev_edge=edge<tail<9>(?,?) head<A>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='h' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='h' nTok='' prev_node=<1>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<1>(?,?) head<h>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=130 #lines=137
xxx GRParseContext: beginLine: cur_line="h->f "Vertex Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["h", "-", ">", "f", "Vertex Stamp"])>
xxx parse line "h->f "Vertex Stamp"" tokens=<StringArray#0x120939e18(["h", "-", ">", "f", "Vertex Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='h' nTok='-' prev_node=<h>(?,?) prev_edge=edge<tail<1>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='-' prev_node=<null> prev_edge=edge<tail<1>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<h>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Vertex Stamp' prev_node=<h>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<h>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Vertex Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<h>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=131 #lines=137
xxx GRParseContext: beginLine: cur_line="i<>h [xmajor_tail=false xmajor_head=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["i", "<", ">", "h", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parse line "i<>h [xmajor_tail=false xmajor_head=true]" tokens=<StringArray#0x12093a318(["i", "<", ">", "h", "[", "xmajor_tail", "=", "false", "xmajor_head", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='i' nTok='<' prev_node=<f>(?,?) prev_edge=edge<tail<h>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='<' prev_node=<null> prev_edge=edge<tail<h>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='h' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='h' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok='xmajor_head' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok='xmajor_head' nTok='=' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:9) cTok='=' nTok='true' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:10) cTok='true' nTok=']' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_head" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:11) cTok=']' nTok='' prev_node=<h>(?,?) prev_edge=edge<tail<i>(?,?) head<h>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=132 #lines=137
xxx GRParseContext: beginLine: cur_line="i->j [xmajor_tail=false]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["i", "-", ">", "j", "[", "xmajor_tail", "=", "false", "]"])>
xxx parse line "i->j [xmajor_tail=false]" tokens=<StringArray#0x120939e18(["i", "-", ">", "j", "[", "xmajor_tail", "=", "false", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='i' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='j' prev_node=<i>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='j' nTok='[' prev_node=<i>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<i>(?,?) head<j>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='xmajor_tail' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='xmajor_tail' nTok='=' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='false' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='false' nTok=']' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
[trc] Edge::addEdgeAttrib: key="xmajor_tail" value="false"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<j>(?,?) prev_edge=edge<tail<i>(?,?) head<j>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=133 #lines=137
xxx GRParseContext: beginLine: cur_line="j->f "Primitive Stamp""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["j", "-", ">", "f", "Primitive Stamp"])>
xxx parse line "j->f "Primitive Stamp"" tokens=<StringArray#0x12093a318(["j", "-", ">", "f", "Primitive Stamp"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='j' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<j>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Primitive Stamp' prev_node=<j>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<j>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Primitive Stamp' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<j>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=134 #lines=137
xxx GRParseContext: beginLine: cur_line="k<>3"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939e18(["k", "<", ">", "3"])>
xxx parse line "k<>3" tokens=<StringArray#0x120939e18(["k", "<", ">", "3"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='k' nTok='<' prev_node=<f>(?,?) prev_edge=edge<tail<j>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='k' nTok='<' prev_node=<null> prev_edge=edge<tail<j>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='3' prev_node=<k>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='3' nTok='' prev_node=<k>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<k>(?,?) head<3>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=135 #lines=137
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=136 #lines=137
xxx GRParseContext: beginLine: cur_line="2<>3 "Attribute Fetch\nTexture Fetch\nFB read/write""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a318(["2", "<", ">", "3", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parse line "2<>3 "Attribute Fetch\nTexture Fetch\nFB read/write"" tokens=<StringArray#0x12093a318(["2", "<", ">", "3", "Attribute Fetch\nTexture Fetch\nFB read/write"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='2' nTok='<' prev_node=<3>(?,?) prev_edge=edge<tail<k>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='2' nTok='<' prev_node=<null> prev_edge=edge<tail<k>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='3' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='3' nTok='Attribute Fetch\nTexture Fetch\nFB read/write' prev_node=<2>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<2>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Attribute Fetch\nTexture Fetch\nFB read/write' nTok='' prev_node=<3>(?,?) prev_edge=edge<tail<2>(?,?) head<3>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=137 #lines=137
xxx popParseContext cur=<class<GRParseContext>#0x1503e1c80((null))> line_idx=137 parse_context_stack=<PointerArray#0x12093b920([<@0x1503e1c80>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 78 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=12 gridH=13
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m"
[trc] Node::addNodeAttrib: key="sw" value="5"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="m" => spanW=5 spanH=3 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="p"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell="p" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="o"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="o" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="n"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell="n" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="a"
[trc] Node::addNodeAttrib: key="sh" value="10"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="a" => spanW=1 spanH=10 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell="0"
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell="b"
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="c"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell="c" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="d"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="d" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="e"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="e" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,5) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell="1"
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="f"
[trc] Node::addNodeAttrib: key="sw" value="4"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="f" => spanW=4 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,7) sCell="i"
[>>>] findSpansFromLayoutRows: grid=(3,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,7) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,7) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,8) sCell="j"
[>>>] findSpansFromLayoutRows: grid=(4,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(7,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,8) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,8) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,9) sCell="k"
[>>>] findSpansFromLayoutRows: grid=(3,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,9) sCell="4" => spanW=4 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(7,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,9) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,9) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,10) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,10) sCell="5"
[>>>] findSpansFromLayoutRows: grid=(7,10) sCell="6"
[>>>] findSpansFromLayoutRows: grid=(8,10) sCell="7"
[>>>] findSpansFromLayoutRows: grid=(9,10) sCell="8"
[>>>] findSpansFromLayoutRows: grid=(10,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,10) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,11) sCell="2"
[>>>] findSpansFromLayoutRows: grid=(2,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,11) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,11) sCell="3"
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell="l"
[trc] Node::addNodeAttrib: key="sw" value="4"
[>>>] findSpansFromLayoutRows: grid=(6,11) sCell="l" => spanW=4 spanH=1 n.isIO=1
[>>>] findSpansFromLayoutRows: grid=(7,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(8,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(9,11) sCell=""
[>>>] findSpansFromLayoutRows: grid=(10,11) sCell="A"
[>>>] findSpansFromLayoutRows: grid=(11,11) sCell="9"
[>>>] findSpansFromLayoutRows: grid=(0,12) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,12) sCell="B"
[>>>] findSpansFromLayoutRows: grid=(2,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(9,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(10,12) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(11,12) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["m", "", "", "", "", " ", "p", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="m"
[trc] setCell(64;64)=m
xxx layoutFixedPlaceRowNodes: sId="p"
[trc] setCell(70;64)=p
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "o", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="o"
[trc] setCell(70;65)=o
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "", "", " ", "n", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="n"
[trc] setCell(70;66)=n
xxx layoutFixedPlaceRowNodes: aRow=["a", "0", " ", "b", " ", " ", "c", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;67)=a
xxx layoutFixedPlaceRowNodes: sId="0"
[trc] setCell(65;67)=0
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(67;67)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(70;67)=c
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "d", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(70;68)=d
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "e", "", "", "", " ", "g"]
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(70;69)=e
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(75;69)=g
xxx layoutFixedPlaceRowNodes: aRow=["", "1", " ", "h", " ", " ", "f", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="1"
[trc] setCell(65;70)=1
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(67;70)=h
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(70;70)=f
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "i", " ", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="i"
[trc] setCell(66;71)=i
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "j", " ", " ", "", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="j"
[trc] setCell(67;72)=j
xxx layoutFixedPlaceRowNodes: aRow=["", " ", "k", " ", " ", " ", "4", "", "", "", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="k"
[trc] setCell(66;73)=k
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(70;73)=4
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "5", "6", "7", "8", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="5"
[trc] setCell(70;74)=5
xxx layoutFixedPlaceRowNodes: sId="6"
[trc] setCell(71;74)=6
xxx layoutFixedPlaceRowNodes: sId="7"
[trc] setCell(72;74)=7
xxx layoutFixedPlaceRowNodes: sId="8"
[trc] setCell(73;74)=8
xxx layoutFixedPlaceRowNodes: aRow=["", "2", " ", " ", " ", "3", "l", "", "", "", "A", "9"]
xxx layoutFixedPlaceRowNodes: sId="2"
[trc] setCell(65;75)=2
xxx layoutFixedPlaceRowNodes: sId="3"
[trc] setCell(69;75)=3
xxx layoutFixedPlaceRowNodes: sId="l"
[trc] setCell(70;75)=l
xxx layoutFixedPlaceRowNodes: sId="A"
[trc] setCell(74;75)=A
xxx layoutFixedPlaceRowNodes: sId="9"
[trc] setCell(75;75)=9
xxx layoutFixedPlaceRowNodes: aRow=["", "B", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="B"
[trc] setCell(65;76)=B
[dbg] Graph::trimToBoundingBox: bb=(64;64;75;76) sz=(12x13)
[trc] debugPrintNodes: n[0] = <graph:m>(0,0) label="m" gr_attribs=#["class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="60", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="5", "align"="left;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <graph:l>(6,11) label="l" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "sw"="4", "align"="top", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[2] = <p>(6,0) label="Rasterizer" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <o>(6,1) label="ZSScheduler" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[4] = <n>(6,2) label="ZSFIFO" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="24", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <a>(0,3) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="10", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;expandy", "shape_round_amount"="20%", "pad"="0"]
[trc] debugPrintNodes: n[6] = <0>(1,3) label="0" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[7] = <b>(3,3) label="ZSCache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="right;centery", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[8] = <c>(6,3) label="ZSUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[9] = <d>(6,4) label="Multisample Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[10] = <e>(6,5) label="Address Encoder" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "sgx"="zs"]
[trc] debugPrintNodes: n[11] = <g>(11,5) label="Fast Clear" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[12] = <1>(1,6) label="1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[13] = <h>(3,6) label="Vertex Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[14] = <f>(6,6) label="Dispatcher" gr_attribs=#["bg_pattern"="zigzag_4", "class"="def", "label_class"="lb", "sh"="3", "shape_round_limit"="5", "arrow_ilen"="20%", "bg_pattern_intensity"="8%", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "ipad_r"="6", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "ipad_l"="6", "shape_round_amount"="20%", "h"="75%"]
[trc] debugPrintNodes: n[15] = <i>(2,7) label="Index Cache" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[16] = <j>(3,8) label="Primitive Assembly" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[17] = <k>(2,9) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="16", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[18] = <4>(6,9) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="4", "label_style"="none", "pad_l"="0", "bgcolor"="#00000000", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "sw"="4", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="4"]
[trc] debugPrintNodes: n[19] = <5>(6,10) label="5" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;bottom", "shape_round_amount"="20%", "pad"="0", "h"="0"]
[trc] debugPrintNodes: n[20] = <6>(7,10) label="6" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;bottom", "shape_round_amount"="20%", "pad"="0", "h"="0"]
[trc] debugPrintNodes: n[21] = <7>(8,10) label="7" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;bottom", "shape_round_amount"="20%", "pad"="0", "h"="0"]
[trc] debugPrintNodes: n[22] = <8>(9,10) label="8" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;bottom", "shape_round_amount"="20%", "pad"="0", "h"="0"]
[trc] debugPrintNodes: n[23] = <2>(1,11) label="2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[24] = <3>(5,11) label="3" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[25] = <A>(10,11) label="A" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[26] = <9>(11,11) label="9" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintNodes: n[27] = <B>(1,12) label="B" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "pad"="0", "h"="16"]
[trc] debugPrintEdges: e[0] = edge<tail<p>(6,0) head<o>(6,1)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<o>(6,1) head<n>(6,2)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<n>(6,2) head<c>(6,3)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="20", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<o>(6,1) head<b>(3,3)> label="Prefetch" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "pad_b"="62.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<0>(1,3) head<b>(3,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<b>(3,3) head<c>(6,3)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<c>(6,3) head<d>(6,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<d>(6,4) head<e>(6,5)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<e>(6,5) head<f>(6,6)> label="Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<e>(6,5) head<g>(11,5)> label="Tile" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "pad_t"="15", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[10] = edge<tail<f>(6,6) head<4>(6,9)> label="Coordinate Data\nContext Data\nMemory Write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="50", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[11] = edge<tail<4>(6,9) head<5>(6,10)> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="1", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[12] = edge<tail<4>(6,9) head<6>(7,10)> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="1", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[13] = edge<tail<4>(6,9) head<7>(8,10)> label="" gr_attribs=#["class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="1", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[14] = edge<tail<4>(6,9) head<8>(9,10)> label="" gr_attribs=#["xmajor_head"="0", "class"="def", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="1", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[15] = edge<tail<g>(11,5) head<9>(11,11)> label="Tile" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="18", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "arrow_shape"="none", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[16] = edge<tail<9>(11,11) head<A>(10,11)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[17] = edge<tail<1>(1,6) head<h>(3,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[18] = edge<tail<h>(3,6) head<f>(6,6)> label="Vertex Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[19] = edge<tail<i>(2,7) head<h>(3,6)> label="" gr_attribs=#["xmajor_head"="1", "class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[20] = edge<tail<i>(2,7) head<j>(3,8)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "xmajor_tail"="0", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[21] = edge<tail<j>(3,8) head<f>(6,6)> label="Primitive Stamp" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[22] = edge<tail<k>(2,9) head<3>(5,11)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[23] = edge<tail<2>(1,11) head<3>(5,11)> label="Attribute Fetch\nTexture Fetch\nFB read/write" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3;4;3;4", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 4 ms
[trc] draw edge: tail<<p>(6,0) => head<o>(6,1) style=normal
[trc] draw edge: tail<<o>(6,1) => head<n>(6,2) style=normal
[trc] draw edge: tail<<n>(6,2) => head<c>(6,3) style=normal
[trc] draw edge: tail<<o>(6,1) => head<b>(3,3) style=normal
[trc] draw edge: tail<<0>(1,3) => head<b>(3,3) style=bidir
[trc] draw edge: tail<<b>(3,3) => head<c>(6,3) style=bidir
[trc] draw edge: tail<<c>(6,3) => head<d>(6,4) style=normal
[trc] draw edge: tail<<d>(6,4) => head<e>(6,5) style=normal
[trc] draw edge: tail<<e>(6,5) => head<f>(6,6) style=normal
[trc] draw edge: tail<<e>(6,5) => head<g>(11,5) style=normal
[trc] draw edge: tail<<f>(6,6) => head<4>(6,9) style=normal
[trc] draw edge: tail<<4>(6,9) => head<5>(6,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<6>(7,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<7>(8,10) style=normal
[trc] draw edge: tail<<4>(6,9) => head<8>(9,10) style=normal
[trc] draw edge: tail<<g>(11,5) => head<9>(11,11) style=normal
[trc] draw edge: tail<<9>(11,11) => head<A>(10,11) style=normal
[trc] draw edge: tail<<1>(1,6) => head<h>(3,6) style=bidir
[trc] draw edge: tail<<h>(3,6) => head<f>(6,6) style=normal
[trc] draw edge: tail<<i>(2,7) => head<h>(3,6) style=bidir
[trc] draw edge: tail<<i>(2,7) => head<j>(3,8) style=normal
[trc] draw edge: tail<<j>(3,8) => head<f>(6,6) style=normal
[trc] draw edge: tail<<k>(2,9) => head<3>(5,11) style=bidir
[trc] draw edge: tail<<2>(1,11) => head<3>(5,11) style=bidir
main[12x13]=
 ____________________________________ 
|...               ...               |
|.m.               .p.               |
|...               .v.               |
|                  .v.               |
|                  .o.               |
|                  .v.               |
|                  .v.               |
|                  .n.               |
|                  .v.               |
|......   .v.      .v.               |
|.a..0>>>>>b>>>>>>>>c.               |
|......   ...      .v.               |
|                  .v.               |
|                  .d.               |
|                  .v.               |
|                  .v.            ...|
|                  .e>>>>>>>>>>>>>>g.|
|                  .v.            .v.|
|   ...   ...      .v.             v |
|   .1>>>>>h>>>>>>>>f.             v |
|   ...   ...      .v.             v |
|      ...          v              v |
|      .i>          v              v |
|      ..\          v              v |
|         \..       v              v |
|         .j>       v              v |
|         ...       v              v |
|      ...         .v.             v |
|      .k>         .4>             v |
|      ...         .v\             v |
|                  .v.\........    v |
|                  .5..6.>7.>8.    v |
|                  ............    v |
|   ...         ......         ....v.|
|   .2>>>>>>>>>>>3..l.         .A<<9.|
|   ...         ......         ......|
|   ...                              |
|   .B.                              |
|   ...                              |
 ------------------------------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:l>(6,11) subgraph.id=l
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:l>(6,11) gw=<class<GraphForm>#0x15047cc40((null))>
l[4x1]=
 ____________ 
|............|
|.S..T..U..V.|
|............|
 ------------ 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:m>(0,0) subgraph.id=m
[trc] GraphForm::addNodesFromGraph_GridLayout: subgraph node n<graph:m>(0,0) gw=<class<GraphForm>#0x15047e340((null))>
[trc] draw edge: tail<<a>(0,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<c>(4,0) => head<b>(2,0) style=bidir
[trc] draw edge: tail<<d>(4,1) => head<b>(2,0) style=bidir
m[5x2]=
 _______________ 
|...   ...   ...|
|.a>>>>>b<<<<<c.|
|...   .^.   ...|
|            .^.|
|            .d.|
|            ...|
 --------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 2 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 1 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<class<Button>#0x150488b80((null))>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;1468;1053)
[...] ===================================================== GraphForm::processGRFile("gr/test37.gr")
xxx Graph::buildPathname: newPathname="gr/test37.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test37.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x150471640((null))> name="gr/test37.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// stacks"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=29
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=29
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093b5d8(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=29
xxx GRParseContext: beginLine: cur_line="  bgcolor=#eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor=#eee" tokens=<StringArray#0x12093ce88(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=29
xxx GRParseContext: beginLine: cur_line="  border_width=1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width=1.5" tokens=<StringArray#0x12093b5d8(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=29
xxx GRParseContext: beginLine: cur_line="  //shape=round"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=29
xxx GRParseContext: beginLine: cur_line="  shape=rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["shape", "=", "rect"])>
xxx parse line "  shape=rect" tokens=<StringArray#0x12093ce88(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=29
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b5d8(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b5d8(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=29
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=29
xxx GRParseContext: beginLine: cur_line="layout=fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["layout", "=", "fixed"])>
xxx parse line "layout=fixed" tokens=<StringArray#0x12093ce88(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=29
xxx GRParseContext: beginLine: cur_line="row="abc""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cd70(["row", "=", "abc"])>
xxx parse line "row="abc"" tokens=<StringArray#0x12093cd70(["row", "=", "abc"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='abc' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='abc' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="abc"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=29
xxx GRParseContext: beginLine: cur_line="row="def""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bce0(["row", "=", "def"])>
xxx parse line "row="def"" tokens=<StringArray#0x12093bce0(["row", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="def"
xxx addLayoutRow: add implicit node 'd'
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'f'
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=29
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=29
xxx GRParseContext: beginLine: cur_line="a->b->c"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c988(["a", "-", ">", "b", "-", ">", "c"])>
xxx parse line "a->b->c" tokens=<StringArray#0x12093c988(["a", "-", ">", "b", "-", ">", "c"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='-' prev_node=<a>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='c' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='c' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<b>(?,?) head<c>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=29
xxx GRParseContext: beginLine: cur_line="d->e->f"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bce0(["d", "-", ">", "e", "-", ">", "f"])>
xxx parse line "d->e->f" tokens=<StringArray#0x12093bce0(["d", "-", ">", "e", "-", ">", "f"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='d' nTok='-' prev_node=<c>(?,?) prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='-' prev_node=<null> prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='e' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='e' nTok='-' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='f' nTok='' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=29
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=29
xxx GRParseContext: beginLine: cur_line="b [stack=3]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c988(["b", "[", "stack", "=", "3", "]"])>
xxx parse line "b [stack=3]" tokens=<StringArray#0x12093c988(["b", "[", "stack", "=", "3", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='b' nTok='[' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='[' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='stack' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='stack' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='3' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='3' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="stack" value="3"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=29
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=29
xxx GRParseContext: beginLine: cur_line="f [stack=3 stack_off=12,14] {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bce0(["f", "[", "stack", "=", "3", "stack_off", "=", "12,14", "]", "{"])>
xxx parse line "f [stack=3 stack_off=12,14] {" tokens=<StringArray#0x12093bce0(["f", "[", "stack", "=", "3", "stack_off", "=", "12,14", "]", "{"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='stack' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='stack' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='3' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='3' nTok='stack_off' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="stack" value="3"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='stack_off' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='12,14' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='12,14' nTok=']' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="stack_off" value="12;14"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok=']' nTok='{' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:9) cTok='{' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: ST_GRAPH_BODY: replace prev_node<f>(?,?) by sub graph
xxx replacePrevNodeBySubGraph: prev_node<f>(?,?)
xxx Graph::removeNode n<f>(?,?)
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=29
xxx GRParseContext: beginLine: cur_line="  layout=table"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939da0(["layout", "=", "table"])>
xxx parse line "  layout=table" tokens=<StringArray#0x120939da0(["layout", "=", "table"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='table' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='table' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_TABLE
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=29
xxx GRParseContext: beginLine: cur_line="  shape=rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bce0(["shape", "=", "rect"])>
xxx parse line "  shape=rect" tokens=<StringArray#0x12093bce0(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3f80((null))> id=f gr_attribs=<HashTable#0x13005d920(#["stack_off"="12;14", "class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "border_width"="1.5", "stack"="3"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=29
xxx GRParseContext: beginLine: cur_line="  border_width=1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939da0(["border_width", "=", "1"])>
xxx parse line "  border_width=1" tokens=<StringArray#0x120939da0(["border_width", "=", "1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='1' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3f80((null))> id=f gr_attribs=<HashTable#0x13005d920(#["stack_off"="12;14", "class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "border_width"="1", "stack"="3"])>
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=29
xxx GRParseContext: beginLine: cur_line="  //bgfill=false"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=29
xxx GRParseContext: beginLine: cur_line="  row="ab""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093bce0(["row", "=", "ab"])>
xxx parse line "  row="ab"" tokens=<StringArray#0x12093bce0(["row", "=", "ab"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='ab' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='ab' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="ab"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=29
xxx GRParseContext: beginLine: cur_line="  row="c ""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["row", "=", "c "])>
xxx parse line "  row="c "" tokens=<StringArray#0x12093ab10(["row", "=", "c "])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='c ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='c ' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="c "
xxx addLayoutRow: add implicit node 'c'
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=29
xxx GRParseContext: beginLine: cur_line="  a "CONST" [border_width=1 border_dir=right font=small bgtint=#20eeee00]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["a", "CONST", "[", "border_width", "=", "1", "border_dir", "=", "right", "font", "=", "small", "bgtint", "=", "#20eeee00", "]"])>
xxx parse line "  a "CONST" [border_width=1 border_dir=right font=small bgtint=#20eeee00]" tokens=<StringArray#0x12093a610(["a", "CONST", "[", "border_width", "=", "1", "border_dir", "=", "right", "font", "=", "small", "bgtint", "=", "#20eeee00", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='CONST' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='CONST' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e40c0((null))>
[dbg] parseNextToken: assign label "CONST" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='border_width' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_width' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='1' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='1' nTok='border_dir' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="1"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='border_dir' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='right' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='right' nTok='font' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_dir" value="right"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='font' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='small' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='small' nTok='bgtint' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='bgtint' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='#20eeee00' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='#20eeee00' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgtint" value="#20eeee00"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=29
xxx GRParseContext: beginLine: cur_line="  b "REGS" [border_width=0 font=small bgtint=#20eeee00]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["b", "REGS", "[", "border_width", "=", "0", "font", "=", "small", "bgtint", "=", "#20eeee00", "]"])>
xxx parse line "  b "REGS" [border_width=0 font=small bgtint=#20eeee00]" tokens=<StringArray#0x12093ab10(["b", "REGS", "[", "border_width", "=", "0", "font", "=", "small", "bgtint", "=", "#20eeee00", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='REGS' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='REGS' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e4100((null))>
[dbg] parseNextToken: assign label "REGS" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='border_width' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_width' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='font' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='font' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='small' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='small' nTok='bgtint' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="font" value="small"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='bgtint' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='#20eeee00' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='#20eeee00' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgtint" value="#20eeee00"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=29
xxx GRParseContext: beginLine: cur_line="  c "Shader Unit(s)" [border_width=1 border_dir=top ipad=8]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a610(["c", "Shader Unit(s)", "[", "border_width", "=", "1", "border_dir", "=", "top", "ipad", "=", "8", "]"])>
xxx parse line "  c "Shader Unit(s)" [border_width=1 border_dir=top ipad=8]" tokens=<StringArray#0x12093a610(["c", "Shader Unit(s)", "[", "border_width", "=", "1", "border_dir", "=", "top", "ipad", "=", "8", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Shader Unit(s)' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader Unit(s)' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1500b6b40((null))>
[dbg] parseNextToken: assign label "Shader Unit(s)" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='border_width' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_width' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='1' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='1' nTok='border_dir' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="1"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='border_dir' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='top' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='top' nTok='ipad' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_dir" value="top"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='ipad' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='8' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='8' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad" value="8"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=29
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ab10(["}"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: '}' main_graph=<class<Graph>#0x1503e1c80((null))> graph=<class<Graph>#0x1503e3f80((null))> graph.parent_graph=<class<Graph>#0x1503e1c80((null))>
[trc] parseNextToken: ------------------------- layout subgraph 'f'
[dbg] Graph::layout: graph.id="f" layout=2:
[trc] Graph::findSpansFromLayoutRows: graph.id="f" gridW=2 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="b"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[trc] debugPrintNodes: n[0] = <a>(?,?) label="CONST" gr_attribs=#["class"="def", "border_dir"="right", "bgtint"="#20eeee00", "bgcolor"="#00eeeeee", "shape"="rect", "font"="small", "border_width"="1"]
[trc] debugPrintNodes: n[1] = <b>(?,?) label="REGS" gr_attribs=#["class"="def", "bgtint"="#20eeee00", "bgcolor"="#00eeeeee", "shape"="rect", "font"="small", "border_width"="0"]
[trc] debugPrintNodes: n[2] = <c>(?,?) label="Shader Unit(s)" gr_attribs=#["class"="def", "border_dir"="top", "bgcolor"="#00eeeeee", "ipad"="8", "shape"="rect", "border_width"="1"]
f[1x1]=
 ___ 
|   |
|   |
|   |
 --- 
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=29
xxx popParseContext cur=<class<GRParseContext>#0x150471640((null))> line_idx=29 parse_context_stack=<PointerArray#0x12093a250([<@0x150471640>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 42 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=3 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="b"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="d"
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell="e"
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell="f"
xxx layoutFixedPlaceRowNodes: aRow=["a", "b", "c"]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;64)=a
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(65;64)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(66;64)=c
xxx layoutFixedPlaceRowNodes: aRow=["d", "e", "f"]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(64;65)=d
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(65;65)=e
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(66;65)=f
[dbg] Graph::trimToBoundingBox: bb=(64;64;66;65) sz=(3x2)
[trc] debugPrintNodes: n[0] = <a>(0,0) label="a" gr_attribs=#["class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "border_width"="1.5"]
[trc] debugPrintNodes: n[1] = <b>(1,0) label="b" gr_attribs=#["class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "border_width"="1.5", "stack"="3"]
[trc] debugPrintNodes: n[2] = <c>(2,0) label="c" gr_attribs=#["class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "border_width"="1.5"]
[trc] debugPrintNodes: n[3] = <d>(0,1) label="d" gr_attribs=#["class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "border_width"="1.5"]
[trc] debugPrintNodes: n[4] = <e>(1,1) label="e" gr_attribs=#["class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "border_width"="1.5"]
[trc] debugPrintNodes: n[5] = <graph:f>(2,1) label="f" gr_attribs=#["stack"="3", "shape"="rect", "stack_off"="12;14", "class"="def", "bgcolor"="#00eeeeee", "border_width"="1.5"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(1,0)> label="" gr_attribs=#["class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "style"="normal", "border_width"="1.5"]
[trc] debugPrintEdges: e[1] = edge<tail<b>(1,0) head<c>(2,0)> label="" gr_attribs=#["class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "style"="normal", "border_width"="1.5"]
[trc] debugPrintEdges: e[2] = edge<tail<d>(0,1) head<e>(1,1)> label="" gr_attribs=#["class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "style"="normal", "border_width"="1.5"]
[trc] debugPrintEdges: e[3] = edge<tail<e>(1,1) head<graph:f>(2,1)> label="" gr_attribs=#["class"="def", "bgcolor"="#00eeeeee", "shape"="rect", "style"="normal", "border_width"="1.5"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<a>(0,0) => head<b>(1,0) style=normal
[trc] draw edge: tail<<b>(1,0) => head<c>(2,0) style=normal
[trc] draw edge: tail<<d>(0,1) => head<e>(1,1) style=normal
[trc] draw edge: tail<<e>(1,1) => head<graph:f>(2,1) style=normal
main[3x2]=
 _________ 
|.........|
|.a>>b>>c.|
|.........|
|.........|
|.d>>e>>f.|
|.........|
 --------- 
[trc] GraphForm::addNodesFromGraph_GridLayout: n<graph:f>(2,1) subgraph.id=f
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(24;24;439;235)
xxx drawPanelBorder: stackOff=(24;28)
xxx drawPanelBorder: stackOff=(12;14)
xxx drawPanelBorder: stackOff=(12;12)
xxx drawPanelBorder: stackOff=(6;6)
[...] ===================================================== GraphForm::processGRFile("gr/test36.gr")
xxx Graph::buildPathname: newPathname="gr/test36.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test36.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x150478740((null))> name="gr/test36.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// toplevel diagram test"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=87
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093ab10(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=87
xxx GRParseContext: beginLine: cur_line="  bgcolor            = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor            = #eee" tokens=<StringArray#0x12093b920(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=87
xxx GRParseContext: beginLine: cur_line="  shape              = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["shape", "=", "round"])>
xxx parse line "  shape              = round" tokens=<StringArray#0x12093ab10(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=87
xxx GRParseContext: beginLine: cur_line="  shape_round_amount = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["shape_round_amount", "=", "20%"])>
xxx parse line "  shape_round_amount = 20%" tokens=<StringArray#0x12093b920(["shape_round_amount", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_amount' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_amount" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=87
xxx GRParseContext: beginLine: cur_line="  shape_round_limit  = 5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["shape_round_limit", "=", "5"])>
xxx parse line "  shape_round_limit  = 5" tokens=<StringArray#0x12093ab10(["shape_round_limit", "=", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape_round_limit' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape_round_limit" value="5"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=87
xxx GRParseContext: beginLine: cur_line="  border_width       = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width       = 1.5" tokens=<StringArray#0x12093b920(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=87
xxx GRParseContext: beginLine: cur_line="  pad_r              = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["pad_r", "=", "0"])>
xxx parse line "  pad_r              = 0" tokens=<StringArray#0x12093ab10(["pad_r", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_r' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_r" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=87
xxx GRParseContext: beginLine: cur_line="  ipad               = 3"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["ipad", "=", "3"])>
xxx parse line "  ipad               = 3" tokens=<StringArray#0x12093b920(["ipad", "=", "3"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='3' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='3' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="ipad" value="3"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=87
xxx GRParseContext: beginLine: cur_line="  arrow_len          = 9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["arrow_len", "=", "9"])>
xxx parse line "  arrow_len          = 9" tokens=<StringArray#0x12093ab10(["arrow_len", "=", "9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_len' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_len" value="9"
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=87
xxx GRParseContext: beginLine: cur_line="  arrow_ilen         = 20%"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["arrow_ilen", "=", "20%"])>
xxx parse line "  arrow_ilen         = 20%" tokens=<StringArray#0x12093b920(["arrow_ilen", "=", "20%"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_ilen' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='20%' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='20%' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_ilen" value="20%"
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=87
xxx GRParseContext: beginLine: cur_line="  arrow_angle        = 30"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["arrow_angle", "=", "30"])>
xxx parse line "  arrow_angle        = 30" tokens=<StringArray#0x12093ab10(["arrow_angle", "=", "30"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='arrow_angle' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='30' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='30' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="arrow_angle" value="30"
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=87
xxx GRParseContext: beginLine: cur_line="  edge_width         = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["edge_width", "=", "1", ".", "5"])>
xxx parse line "  edge_width         = 1.5" tokens=<StringArray#0x12093b920(["edge_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=87
xxx GRParseContext: beginLine: cur_line="  align              = center"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["align", "=", "center"])>
xxx parse line "  align              = center" tokens=<StringArray#0x12093ab10(["align", "=", "center"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='center' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='center' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="center"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=87
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b920(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=87
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x12093ab10(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=87
xxx GRParseContext: beginLine: cur_line="  def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["def"])>
xxx parse line "  def" tokens=<StringArray#0x12093b920(["def"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_INHERIT(104:0) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::inheritFrom: base.id='def'
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=87
xxx GRParseContext: beginLine: cur_line="  shape       = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["shape", "=", "none"])>
xxx parse line "  shape       = none" tokens=<StringArray#0x12093ab10(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=87
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093b920(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=87
xxx GRParseContext: beginLine: cur_line="  align       = left,centery"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["align", "=", "left,centery"])>
xxx parse line "  align       = left,centery" tokens=<StringArray#0x12093ab10(["align", "=", "left,centery"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='left,centery' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='left,centery' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="left;centery"
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=87
xxx GRParseContext: beginLine: cur_line="  pad_h       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["pad_h", "=", "0"])>
xxx parse line "  pad_h       = 0" tokens=<StringArray#0x12093b920(["pad_h", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_h' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_h" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=87
xxx GRParseContext: beginLine: cur_line="  s           = 0,16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["s", "=", "0,16"])>
xxx parse line "  s           = 0,16" tokens=<StringArray#0x12093ab10(["s", "=", "0,16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0,16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0,16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="0;16"
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=87
xxx GRParseContext: beginLine: cur_line="  pad_l       = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["pad_l", "=", "0"])>
xxx parse line "  pad_l       = 0" tokens=<StringArray#0x12093b920(["pad_l", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='pad_l' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="pad_l" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=87
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ab10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=87
xxx GRParseContext: beginLine: cur_line="style lb {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["style", "lb", "{"])>
xxx parse line "style lb {" tokens=<StringArray#0x12093b920(["style", "lb", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='lb' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='lb'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=87
xxx GRParseContext: beginLine: cur_line="  shape        = rect"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["shape", "=", "rect"])>
xxx parse line "  shape        = rect" tokens=<StringArray#0x12093ab10(["shape", "=", "rect"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rect' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rect' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="rect"
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=87
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #f9f9f9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["bgcolor", "=", "#f9f9f9"])>
xxx parse line "  bgcolor      = #f9f9f9" tokens=<StringArray#0x12093b920(["bgcolor", "=", "#f9f9f9"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#f9f9f9' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#f9f9f9' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#f9f9f9"
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=87
xxx GRParseContext: beginLine: cur_line="  border_width = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["border_width", "=", "0"])>
xxx parse line "  border_width = 0" tokens=<StringArray#0x12093ab10(["border_width", "=", "0"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="0"
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=87
xxx GRParseContext: beginLine: cur_line="  font         = small"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["font", "=", "small"])>
xxx parse line "  font         = small" tokens=<StringArray#0x12093b920(["font", "=", "small"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='font' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='small' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='small' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="font" value="small"
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=87
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093ab10(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=87
xxx GRParseContext: beginLine: cur_line="style rcurve {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["style", "rcurve", "{"])>
xxx parse line "style rcurve {" tokens=<StringArray#0x12093b920(["style", "rcurve", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='rcurve' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='rcurve'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=87
xxx GRParseContext: beginLine: cur_line="  edge_shape=rcurve"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["edge_shape", "=", "rcurve"])>
xxx parse line "  edge_shape=rcurve" tokens=<StringArray#0x12093ab10(["edge_shape", "=", "rcurve"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='edge_shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='rcurve' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='rcurve' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="edge_shape" value="rcurve"
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=87
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b920(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093b920(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=87
xxx GRParseContext: beginLine: cur_line="layout       = fixed;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["layout", "=", "fixed", ";"])>
xxx parse line "layout       = fixed;" tokens=<StringArray#0x12093ab10(["layout", "=", "fixed", ";"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=87
xxx GRParseContext: beginLine: cur_line="xmajor       = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209399e0(["xmajor", "=", "true", ";"])>
xxx parse line "xmajor       = true;" tokens=<StringArray#0x1209399e0(["xmajor", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='xmajor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3f80((null))> id=main gr_attribs=<HashTable#0x13005cd80(#["xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=87
xxx GRParseContext: beginLine: cur_line="zero_margin  = false;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["zero_margin", "=", "false", ";"])>
xxx parse line "zero_margin  = false;" tokens=<StringArray#0x12093ab10(["zero_margin", "=", "false", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='false' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=0
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=87
xxx GRParseContext: beginLine: cur_line="row_padding  = 8;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209399e0(["row_padding", "=", "8", ";"])>
xxx parse line "row_padding  = 8;" tokens=<StringArray#0x1209399e0(["row_padding", "=", "8", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='8' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='8' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3f80((null))> id=main gr_attribs=<HashTable#0x13005cd80(#["row_padding"="8", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=87
xxx GRParseContext: beginLine: cur_line="col_padding  = 16;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["col_padding", "=", "16", ";"])>
xxx parse line "col_padding  = 16;" tokens=<StringArray#0x12093ab10(["col_padding", "=", "16", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='16' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3f80((null))> id=main gr_attribs=<HashTable#0x13005cd80(#["row_padding"="8", "col_padding"="16", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=87
xxx GRParseContext: beginLine: cur_line="ipad         = 4;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x1209399e0(["ipad", "=", "4", ";"])>
xxx parse line "ipad         = 4;" tokens=<StringArray#0x1209399e0(["ipad", "=", "4", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='4' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3f80((null))> id=main gr_attribs=<HashTable#0x13005cd80(#["ipad"="4", "row_padding"="8", "col_padding"="16", "xmajor"="1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=87
xxx GRParseContext: beginLine: cur_line="row="a1 b     ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ab10(["row", "=", "a1 b     ", ";"])>
xxx parse line "row="a1 b     ";" tokens=<StringArray#0x12093ab10(["row", "=", "a1 b     ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a1 b     ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a1 b     ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a1 b     "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node '1'
xxx addLayoutRow: add implicit node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=87
xxx GRParseContext: beginLine: cur_line="row="a   3 d e";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c078(["row", "=", "a   3 d e", ";"])>
xxx parse line "row="a   3 d e";" tokens=<StringArray#0x12093c078(["row", "=", "a   3 d e", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a   3 d e' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a   3 d e' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a   3 d e"
xxx addLayoutRow: add implicit node '3'
xxx addLayoutRow: add implicit node 'd'
xxx addLayoutRow: add implicit node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=87
xxx GRParseContext: beginLine: cur_line="row="a2 c     ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939da0(["row", "=", "a2 c     ", ";"])>
xxx parse line "row="a2 c     ";" tokens=<StringArray#0x120939da0(["row", "=", "a2 c     ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a2 c     ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a2 c     ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a2 c     "
xxx addLayoutRow: add implicit node '2'
xxx addLayoutRow: add implicit node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=87
xxx GRParseContext: beginLine: cur_line="row="a        ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093c988(["row", "=", "a        ", ";"])>
xxx parse line "row="a        ";" tokens=<StringArray#0x12093c988(["row", "=", "a        ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a        ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a        ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a        "
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=87
xxx GRParseContext: beginLine: cur_line="row="a  g  f  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938bf8(["row", "=", "a  g  f  ", ";"])>
xxx parse line "row="a  g  f  ";" tokens=<StringArray#0x120938bf8(["row", "=", "a  g  f  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a  g  f  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a  g  f  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a  g  f  "
xxx addLayoutRow: add implicit node 'g'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=87
xxx GRParseContext: beginLine: cur_line="row="a     X  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120938f18(["row", "=", "a     X  ", ";"])>
xxx parse line "row="a     X  ";" tokens=<StringArray#0x120938f18(["row", "=", "a     X  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a     X  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a     X  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a     X  "
xxx addLayoutRow: add implicit node 'X'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=87
xxx GRParseContext: beginLine: cur_line="row="a4    h  ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["row", "=", "a4    h  ", ";"])>
xxx parse line "row="a4    h  ";" tokens=<StringArray#0x120939fa8(["row", "=", "a4    h  ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='a4    h  ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='a4    h  ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="a4    h  "
xxx addLayoutRow: add implicit node '4'
xxx addLayoutRow: add implicit node 'h'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=87
xxx GRParseContext: beginLine: cur_line="label_class=lb"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["label_class", "=", "lb"])>
xxx parse line "label_class=lb" tokens=<StringArray#0x12093ce88(["label_class", "=", "lb"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='label_class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='lb' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='lb' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x1503e3f80((null))> id=main gr_attribs=<HashTable#0x13005cd80(#["label_class"="lb", "ipad"="4", "row_padding"="8", "col_padding"="16", "xmajor"="1"])>
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=87
xxx GRParseContext: beginLine: cur_line="a "MBI" [rotate=ccw align=centerx,expandy pad_v=0 pad_l=0 w=48]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["a", "MBI", "[", "rotate", "=", "ccw", "align", "=", "centerx,expandy", "pad_v", "=", "0", "pad_l", "=", "0", "w", "=", "48", "]"])>
xxx parse line "a "MBI" [rotate=ccw align=centerx,expandy pad_v=0 pad_l=0 w=48]" tokens=<StringArray#0x120939fa8(["a", "MBI", "[", "rotate", "=", "ccw", "align", "=", "centerx,expandy", "pad_v", "=", "0", "pad_l", "=", "0", "w", "=", "48", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='MBI' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='MBI' nTok='[' prev_node=<a>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e9680((null))>
[dbg] parseNextToken: assign label "MBI" to node 'a'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='rotate' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='rotate' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='ccw' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='ccw' nTok='align' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="rotate" value="ccw"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='align' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='centerx,expandy' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='centerx,expandy' nTok='pad_v' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="align" value="centerx;expandy"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='pad_v' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='0' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='0' nTok='pad_l' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_v" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='pad_l' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='0' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='0' nTok='w' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_l" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='w' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='48' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='48' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="w" value="48"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=87
xxx GRParseContext: beginLine: cur_line="class=invis"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["class", "=", "invis"])>
xxx parse line "class=invis" tokens=<StringArray#0x12093ce88(["class", "=", "invis"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=87
xxx GRParseContext: beginLine: cur_line="1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["1"])>
xxx parse line "1" tokens=<StringArray#0x120939fa8(["1"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='1' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '1' already exists (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=87
xxx GRParseContext: beginLine: cur_line="2"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["2"])>
xxx parse line "2" tokens=<StringArray#0x12093ce88(["2"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='2' nTok='' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '2' already exists (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=87
xxx GRParseContext: beginLine: cur_line="3 [s=12 pad_l=16 helper=true]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["3", "[", "s", "=", "12", "pad_l", "=", "16", "helper", "=", "true", "]"])>
xxx parse line "3 [s=12 pad_l=16 helper=true]" tokens=<StringArray#0x120939fa8(["3", "[", "s", "=", "12", "pad_l", "=", "16", "helper", "=", "true", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='3' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '3' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='s' prev_node=<3>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<3>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='s' nTok='=' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='12' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='12' nTok='pad_l' prev_node=<3>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="12"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='pad_l' nTok='=' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='16' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='16' nTok='helper' prev_node=<3>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_l" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:8) cTok='helper' nTok='=' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:9) cTok='=' nTok='true' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:10) cTok='true' nTok=']' prev_node=<3>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="helper" value="true"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:11) cTok=']' nTok='' prev_node=<3>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=87
xxx GRParseContext: beginLine: cur_line="4 [s=0,16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["4", "[", "s", "=", "0,16", "]"])>
xxx parse line "4 [s=0,16]" tokens=<StringArray#0x12093ce88(["4", "[", "s", "=", "0,16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node '4' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='s' prev_node=<4>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<4>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='s' nTok='=' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='0,16' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='0,16' nTok=']' prev_node=<4>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="0;16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<4>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=87
xxx GRParseContext: beginLine: cur_line="X [s=16]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["X", "[", "s", "=", "16", "]"])>
xxx parse line "X [s=16]" tokens=<StringArray#0x120939fa8(["X", "[", "s", "=", "16", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='X' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'X' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='s' prev_node=<X>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<X>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='s' nTok='=' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='16' prev_node=<X>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='16' nTok=']' prev_node=<X>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="s" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<X>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=87
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093ce88(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=87
xxx GRParseContext: beginLine: cur_line="b "Attribute\nFetch\nUnit"  [pad_b=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["b", "Attribute\nFetch\nUnit", "[", "pad_b", "=", "0", "]"])>
xxx parse line "b "Attribute\nFetch\nUnit"  [pad_b=0]" tokens=<StringArray#0x120939fa8(["b", "Attribute\nFetch\nUnit", "[", "pad_b", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='Attribute\nFetch\nUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Attribute\nFetch\nUnit' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e9600((null))>
[dbg] parseNextToken: assign label "Attribute\nFetch\nUnit" to node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_b' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_b' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_b" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=87
xxx GRParseContext: beginLine: cur_line="c "Texture\nFetch\nUnit"    [pad_t=0]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["c", "Texture\nFetch\nUnit", "[", "pad_t", "=", "0", "]"])>
xxx parse line "c "Texture\nFetch\nUnit"    [pad_t=0]" tokens=<StringArray#0x12093ce88(["c", "Texture\nFetch\nUnit", "[", "pad_t", "=", "0", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='Texture\nFetch\nUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Texture\nFetch\nUnit' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e94c0((null))>
[dbg] parseNextToken: assign label "Texture\nFetch\nUnit" to node 'c'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_t' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_t' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_t" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=87
xxx GRParseContext: beginLine: cur_line="d "Shader"                  [ipad=6,8,6,8 shape=rhomb shape_rhomb_tx=16 shape_rhomb_ty=8 border_width=2 bgtint=#1000ff00]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["d", "Shader", "[", "ipad", "=", "6,8,6,8", "shape", "=", "rhomb", "shape_rhomb_tx", "=", "16", "shape_rhomb_ty", "=", "8", "border_width", "=", "2", "bgtint", "=", "#1000ff00", "]"])>
xxx parse line "d "Shader"                  [ipad=6,8,6,8 shape=rhomb shape_rhomb_tx=16 shape_rhomb_ty=8 border_width=2 bgtint=#1000ff00]" tokens=<StringArray#0x120939fa8(["d", "Shader", "[", "ipad", "=", "6,8,6,8", "shape", "=", "rhomb", "shape_rhomb_tx", "=", "16", "shape_rhomb_ty", "=", "8", "border_width", "=", "2", "bgtint", "=", "#1000ff00", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='Shader' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Shader' nTok='[' prev_node=<d>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e9580((null))>
[dbg] parseNextToken: assign label "Shader" to node 'd'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='ipad' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='ipad' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='6,8,6,8' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='6,8,6,8' nTok='shape' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="ipad" value="6;8;6;8"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='shape' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='rhomb' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='rhomb' nTok='shape_rhomb_tx' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape" value="rhomb"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok='shape_rhomb_tx' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:10) cTok='=' nTok='16' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:11) cTok='16' nTok='shape_rhomb_ty' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape_rhomb_tx" value="16"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:12) cTok='shape_rhomb_ty' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:13) cTok='=' nTok='8' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:14) cTok='8' nTok='border_width' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="shape_rhomb_ty" value="8"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:15) cTok='border_width' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:16) cTok='=' nTok='2' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:17) cTok='2' nTok='bgtint' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_width" value="2"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:18) cTok='bgtint' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:19) cTok='=' nTok='#1000ff00' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:20) cTok='#1000ff00' nTok=']' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgtint" value="#1000ff00"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:21) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=87
xxx GRParseContext: beginLine: cur_line="e "Special\nFunction\nUnit" [pad_v=0 pad_l=24]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["e", "Special\nFunction\nUnit", "[", "pad_v", "=", "0", "pad_l", "=", "24", "]"])>
xxx parse line "e "Special\nFunction\nUnit" [pad_v=0 pad_l=24]" tokens=<StringArray#0x12093ce88(["e", "Special\nFunction\nUnit", "[", "pad_v", "=", "0", "pad_l", "=", "24", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='Special\nFunction\nUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Special\nFunction\nUnit' nTok='[' prev_node=<e>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e9540((null))>
[dbg] parseNextToken: assign label "Special\nFunction\nUnit" to node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:2) cTok='[' nTok='pad_v' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='pad_v' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='pad_l' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_v" value="0"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:6) cTok='pad_l' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:7) cTok='=' nTok='24' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:8) cTok='24' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="pad_l" value="24"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:9) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=87
xxx GRParseContext: beginLine: cur_line="f "Crossbar""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["f", "Crossbar"])>
xxx parse line "f "Crossbar"" tokens=<StringArray#0x120939fa8(["f", "Crossbar"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='Crossbar' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Crossbar' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e9640((null))>
[dbg] parseNextToken: assign label "Crossbar" to node 'f'
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=87
xxx GRParseContext: beginLine: cur_line="g "Scratch\nRAM""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["g", "Scratch\nRAM"])>
xxx parse line "g "Scratch\nRAM"" tokens=<StringArray#0x12093ce88(["g", "Scratch\nRAM"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='g' nTok='Scratch\nRAM' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Scratch\nRAM' nTok='' prev_node=<g>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e9480((null))>
[dbg] parseNextToken: assign label "Scratch\nRAM" to node 'g'
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=87
xxx GRParseContext: beginLine: cur_line="h "Render\nOutput\nUnit""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["h", "Render\nOutput\nUnit"])>
xxx parse line "h "Render\nOutput\nUnit"" tokens=<StringArray#0x120939fa8(["h", "Render\nOutput\nUnit"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='h' nTok='Render\nOutput\nUnit' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'h' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_LABEL(203:1) cTok='Render\nOutput\nUnit' nTok='' prev_node=<h>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY_NODE_LABEL: prev_node=<class<Node>#0x1503e9400((null))>
[dbg] parseNextToken: assign label "Render\nOutput\nUnit" to node 'h'
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=87
xxx GRParseContext: beginLine: cur_line="1->b"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["1", "-", ">", "b"])>
xxx parse line "1->b" tokens=<StringArray#0x12093ce88(["1", "-", ">", "b"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='1' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<1>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='' prev_node=<1>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<1>(?,?) head<b>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=87
xxx GRParseContext: beginLine: cur_line="2->c"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["2", "-", ">", "c"])>
xxx parse line "2->c" tokens=<StringArray#0x120939fa8(["2", "-", ">", "c"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='2' nTok='-' prev_node=<b>(?,?) prev_edge=edge<tail<1>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='2' nTok='-' prev_node=<null> prev_edge=edge<tail<1>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='c' prev_node=<2>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='c' nTok='' prev_node=<2>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<2>(?,?) head<c>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=87
xxx GRParseContext: beginLine: cur_line="4<>h"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["4", "<", ">", "h"])>
xxx parse line "4<>h" tokens=<StringArray#0x12093ce88(["4", "<", ">", "h"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='4' nTok='<' prev_node=<c>(?,?) prev_edge=edge<tail<2>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='4' nTok='<' prev_node=<null> prev_edge=edge<tail<2>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='h' prev_node=<4>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='h' nTok='' prev_node=<4>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<4>(?,?) head<h>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=87
xxx GRParseContext: beginLine: cur_line="b--3 [class=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["b", "-", "-", "3", "[", "class", "=", "rcurve", "]"])>
xxx parse line "b--3 [class=rcurve]" tokens=<StringArray#0x120939fa8(["b", "-", "-", "3", "[", "class", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='b' nTok='-' prev_node=<h>(?,?) prev_edge=edge<tail<4>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='-' prev_node=<null> prev_edge=edge<tail<4>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='-' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_UNDIR(206:2) cTok='-' nTok='3' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='3' nTok='[' prev_node=<b>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="undir"
[dbg] parseNextToken: addEdge edge<tail<b>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='class' prev_node=<3>(?,?) prev_edge=edge<tail<b>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='class' nTok='=' prev_node=<3>(?,?) prev_edge=edge<tail<b>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='rcurve' prev_node=<3>(?,?) prev_edge=edge<tail<b>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='rcurve' nTok=']' prev_node=<3>(?,?) prev_edge=edge<tail<b>(?,?) head<3>(?,?)>
[trc] Edge::addEdgeAttrib: key="class" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<3>(?,?) prev_edge=edge<tail<b>(?,?) head<3>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=87
xxx GRParseContext: beginLine: cur_line="c--3 [class=rcurve]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["c", "-", "-", "3", "[", "class", "=", "rcurve", "]"])>
xxx parse line "c--3 [class=rcurve]" tokens=<StringArray#0x12093ce88(["c", "-", "-", "3", "[", "class", "=", "rcurve", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='-' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_UNDIR(206:2) cTok='-' nTok='3' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='3' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="undir"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='class' prev_node=<3>(?,?) prev_edge=edge<tail<c>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='class' nTok='=' prev_node=<3>(?,?) prev_edge=edge<tail<c>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='rcurve' prev_node=<3>(?,?) prev_edge=edge<tail<c>(?,?) head<3>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='rcurve' nTok=']' prev_node=<3>(?,?) prev_edge=edge<tail<c>(?,?) head<3>(?,?)>
[trc] Edge::addEdgeAttrib: key="class" value="rcurve"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<3>(?,?) prev_edge=edge<tail<c>(?,?) head<3>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=87
xxx GRParseContext: beginLine: cur_line="3->d"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["3", "-", ">", "d"])>
xxx parse line "3->d" tokens=<StringArray#0x120939fa8(["3", "-", ">", "d"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='3' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='d' prev_node=<3>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='d' nTok='' prev_node=<3>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<3>(?,?) head<d>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=87
xxx GRParseContext: beginLine: cur_line="d<>e"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["d", "<", ">", "e"])>
xxx parse line "d<>e" tokens=<StringArray#0x12093ce88(["d", "<", ">", "e"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='d' nTok='<' prev_node=<d>(?,?) prev_edge=edge<tail<3>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='<' prev_node=<null> prev_edge=edge<tail<3>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='<' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='e' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='e' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="bidir"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<e>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=87
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=87
xxx GRParseContext: beginLine: cur_line="d->f "Shader result\nstream""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["d", "-", ">", "f", "Shader result\nstream"])>
xxx parse line "d->f "Shader result\nstream"" tokens=<StringArray#0x120939fa8(["d", "-", ">", "f", "Shader result\nstream"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='d' nTok='-' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='-' prev_node=<null> prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='f' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='f' nTok='Shader result\nstream' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Shader result\nstream' nTok='' prev_node=<f>(?,?) prev_edge=edge<tail<d>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=87
xxx GRParseContext: beginLine: cur_line="f->g"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093ce88(["f", "-", ">", "g"])>
xxx parse line "f->g" tokens=<StringArray#0x12093ce88(["f", "-", ">", "g"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='f' nTok='-' prev_node=<f>(?,?) prev_edge=edge<tail<d>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='-' prev_node=<null> prev_edge=edge<tail<d>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='g' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='g' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<f>(?,?) head<g>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=87
xxx GRParseContext: beginLine: cur_line="f->h "Reorder\ndata""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["f", "-", ">", "h", "Reorder\ndata"])>
xxx parse line "f->h "Reorder\ndata"" tokens=<StringArray#0x120939fa8(["f", "-", ">", "h", "Reorder\ndata"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='f' nTok='-' prev_node=<g>(?,?) prev_edge=edge<tail<f>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='-' prev_node=<null> prev_edge=edge<tail<f>(?,?) head<g>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='h' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='h' nTok='Reorder\ndata' prev_node=<f>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<f>(?,?) head<h>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='Reorder\ndata' nTok='' prev_node=<h>(?,?) prev_edge=edge<tail<f>(?,?) head<h>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=87
xxx popParseContext cur=<class<GRParseContext>#0x150478740((null))> line_idx=87 parse_context_stack=<PointerArray#0x120939b20([<@0x150478740>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 27 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=9 gridH=7
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[trc] Node::addNodeAttrib: key="sh" value="7"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a" => spanW=1 spanH=7 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="1"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell="b"
[>>>] findSpansFromLayoutRows: grid=(4,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,1) sCell="3"
[>>>] findSpansFromLayoutRows: grid=(5,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,1) sCell="d"
[>>>] findSpansFromLayoutRows: grid=(7,1) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,1) sCell="e"
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell="2"
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(4,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,2) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(7,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,3) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,4) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,4) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(4,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,4) sCell="f"
[>>>] findSpansFromLayoutRows: grid=(7,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,4) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,5) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(2,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,5) sCell="X"
[>>>] findSpansFromLayoutRows: grid=(7,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,5) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,6) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,6) sCell="4"
[>>>] findSpansFromLayoutRows: grid=(2,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(3,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(4,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(5,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(6,6) sCell="h"
[>>>] findSpansFromLayoutRows: grid=(7,6) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(8,6) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["a", "1", " ", "b", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;64)=a
xxx layoutFixedPlaceRowNodes: sId="1"
[trc] setCell(65;64)=1
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(67;64)=b
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", "3", " ", "d", " ", "e"]
xxx layoutFixedPlaceRowNodes: sId="3"
[trc] setCell(68;65)=3
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(70;65)=d
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(72;65)=e
xxx layoutFixedPlaceRowNodes: aRow=["", "2", " ", "c", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="2"
[trc] setCell(65;66)=2
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(67;66)=c
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", " ", " ", " "]
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", "g", " ", " ", "f", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(67;68)=g
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(70;68)=f
xxx layoutFixedPlaceRowNodes: aRow=["", " ", " ", " ", " ", " ", "X", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="X"
[trc] setCell(70;69)=X
xxx layoutFixedPlaceRowNodes: aRow=["", "4", " ", " ", " ", " ", "h", " ", " "]
xxx layoutFixedPlaceRowNodes: sId="4"
[trc] setCell(65;70)=4
xxx layoutFixedPlaceRowNodes: sId="h"
[trc] setCell(70;70)=h
[dbg] Graph::trimToBoundingBox: bb=(64;64;72;70) sz=(9x7)
[trc] debugPrintNodes: n[0] = <a>(0,0) label="MBI" gr_attribs=#["class"="def", "label_class"="lb", "sh"="7", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="48", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "rotate"="ccw", "pad_b"="0", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="centerx;expandy", "pad_t"="0", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[1] = <1>(1,0) label="1" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[2] = <b>(3,0) label="Attribute\nFetch\nUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "pad_b"="0", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[3] = <3>(4,1) label="3" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="12", "label_style"="none", "pad_l"="16", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="12"]
[trc] debugPrintNodes: n[4] = <d>(6,1) label="Shader" gr_attribs=#["class"="def", "label_class"="lb", "bgtint"="#1000ff00", "shape_rhomb_tx"="16", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="6;8;6;8", "edge_width"="1.5", "shape"="rhomb", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="2", "shape_rhomb_ty"="8", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[5] = <e>(8,1) label="Special\nFunction\nUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "pad_l"="24", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "pad_b"="0", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "pad_t"="0", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[6] = <2>(1,2) label="2" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[7] = <c>(3,2) label="Texture\nFetch\nUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "pad_t"="0", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[8] = <g>(3,4) label="Scratch\nRAM" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[9] = <f>(6,4) label="Crossbar" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintNodes: n[10] = <X>(6,5) label="X" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="16", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[11] = <4>(1,6) label="4" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "w"="0", "label_style"="none", "pad_l"="0", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="none", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="left;centery", "shape_round_amount"="20%", "h"="16"]
[trc] debugPrintNodes: n[12] = <h>(6,6) label="Render\nOutput\nUnit" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#00eeeeee", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="round", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="1.5", "align"="center", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[0] = edge<tail<1>(1,0) head<b>(3,0)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[1] = edge<tail<2>(1,2) head<c>(3,2)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[2] = edge<tail<4>(1,6) head<h>(6,6)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[3] = edge<tail<b>(3,0) head<3>(4,1)> label="" gr_attribs=#["class"="rcurve", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="undir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[4] = edge<tail<c>(3,2) head<3>(4,1)> label="" gr_attribs=#["class"="rcurve", "label_class"="lb", "edge_shape"="rcurve", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="undir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[5] = edge<tail<3>(4,1) head<d>(6,1)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[6] = edge<tail<d>(6,1) head<e>(8,1)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="bidir", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[7] = edge<tail<d>(6,1) head<f>(6,4)> label="Shader result\nstream" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[8] = edge<tail<f>(6,4) head<g>(3,4)> label="" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[trc] debugPrintEdges: e[9] = edge<tail<f>(6,4) head<h>(6,6)> label="Reorder\ndata" gr_attribs=#["class"="def", "label_class"="lb", "shape_round_limit"="5", "arrow_ilen"="20%", "bgcolor"="#f9f9f9", "pad_r"="0", "ipad"="3", "edge_width"="1.5", "shape"="rect", "arrow_len"="9", "arrow_angle"="30", "xmajor"="1", "border_width"="0", "font"="small", "align"="center", "style"="normal", "shape_round_amount"="20%"]
[pro] GraphForm::endXFMTag: graph.layout() took 3 ms
[trc] draw edge: tail<<1>(1,0) => head<b>(3,0) style=normal
[trc] draw edge: tail<<2>(1,2) => head<c>(3,2) style=normal
[trc] draw edge: tail<<4>(1,6) => head<h>(6,6) style=bidir
[trc] draw edge: tail<<b>(3,0) => head<3>(4,1) style=undir
[trc] draw edge: tail<<c>(3,2) => head<3>(4,1) style=undir
[trc] draw edge: tail<<3>(4,1) => head<d>(6,1) style=normal
[trc] draw edge: tail<<d>(6,1) => head<e>(8,1) style=bidir
[trc] draw edge: tail<<d>(6,1) => head<f>(6,4) style=normal
[trc] draw edge: tail<<f>(6,4) => head<g>(3,4) style=normal
[trc] draw edge: tail<<f>(6,4) => head<h>(6,6) style=normal
main[9x7]=
 ___________________________ 
|......   ...               |
|.a..1>>>>>b.               |
|......   ..\               |
|            \..   ...   ...|
|            >3>>>>>d>>>>>e.|
|            ...   .v.   ...|
|   ...   ...       v       |
|   .2>>>>>c>       v       |
|   ...   ...       v       |
|                   v       |
|                   v       |
|                   v       |
|         ...      .v.      |
|         .g<<<<<<<<f.      |
|         ...      .v.      |
|                  .v.      |
|                  .v.      |
|                  .v.      |
|   ...            .v.      |
|   .4>>>>>>>>>>>>>>h.      |
|   ...            ...      |
 --------------------------- 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 1 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(8;8;708;717)
[...] ===================================================== GraphForm::processGRFile("gr/test35.gr")
xxx Graph::buildPathname: newPathname="gr/test35.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test35.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503e2180((null))> name="gr/test35.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// gradients"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=90
xxx GRParseContext: beginLine: cur_line="style {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["style", "{"])>
xxx parse line "style {" tokens=<StringArray#0x120939fa8(["style", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='default'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:1) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgtint       = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["bgtint", "=", "#eee"])>
xxx parse line "  bgtint       = #eee" tokens=<StringArray#0x12093a250(["bgtint", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgtint' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgtint" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=90
xxx GRParseContext: beginLine: cur_line="  shape        = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["shape", "=", "round"])>
xxx parse line "  shape        = round" tokens=<StringArray#0x120939fa8(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_width = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width = 1.5" tokens=<StringArray#0x12093a250(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=90
xxx GRParseContext: beginLine: cur_line="  s            = 64,64"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["s", "=", "64,64"])>
xxx parse line "  s            = 64,64" tokens=<StringArray#0x120939fa8(["s", "=", "64,64"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='64,64' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='64,64' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="64;64"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a250(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient greenblue {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "greenblue", "{"])>
xxx parse line "gradient greenblue {" tokens=<StringArray#0x120939fa8(["gradient", "greenblue", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='greenblue' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='greenblue' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='greenblue'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=90
xxx GRParseContext: beginLine: cur_line="  #6f66ff99"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["#6f66ff99"])>
xxx parse line "  #6f66ff99" tokens=<StringArray#0x12093a250(["#6f66ff99"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#6f66ff99' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#6f66ff99' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#6f66ff99
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=90
xxx GRParseContext: beginLine: cur_line="  #6f6699ff"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#6f6699ff"])>
xxx parse line "  #6f6699ff" tokens=<StringArray#0x120939fa8(["#6f6699ff"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#6f6699ff' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#6f6699ff' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#6f6699ff
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a250(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=1
[trc] GRGradient::finish: i=1 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#6f66ff99
[trc]    [1] start=1 color=#6f6699ff
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient greenblue_multi {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "greenblue_multi", "{"])>
xxx parse line "gradient greenblue_multi {" tokens=<StringArray#0x120939fa8(["gradient", "greenblue_multi", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='greenblue_multi' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='greenblue_multi' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='greenblue_multi'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=90
xxx GRParseContext: beginLine: cur_line="         #af2255aa"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["#af2255aa"])>
xxx parse line "         #af2255aa" tokens=<StringArray#0x12093a250(["#af2255aa"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#af2255aa' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#af2255aa' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#af2255aa
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.05 = #af4477dd"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "05", "=", "#af4477dd"])>
xxx parse line "  0.05 = #af4477dd" tokens=<StringArray#0x120939fa8(["0", ".", "05", "=", "#af4477dd"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='05' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='05' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#af4477dd' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#af4477dd' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.05 c32=#af4477dd
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.35 = #af8ace8a"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["0", ".", "35", "=", "#af8ace8a"])>
xxx parse line "  0.35 = #af8ace8a" tokens=<StringArray#0x12093a250(["0", ".", "35", "=", "#af8ace8a"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='35' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='35' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#af8ace8a' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#af8ace8a' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.35 c32=#af8ace8a
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=90
xxx GRParseContext: beginLine: cur_line="         #af4679df"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#af4679df"])>
xxx parse line "         #af4679df" tokens=<StringArray#0x120939fa8(["#af4679df"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#af4679df' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#af4679df' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#af4679df
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.85 = #ff408060"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["0", ".", "85", "=", "#ff408060"])>
xxx parse line "  0.85 = #ff408060" tokens=<StringArray#0x12093a250(["0", ".", "85", "=", "#ff408060"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='85' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='85' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#ff408060' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#ff408060' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.85 c32=#ff408060
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=90
xxx GRParseContext: beginLine: cur_line="     //#6f408040"
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=90
xxx GRParseContext: beginLine: cur_line="         #ff167f39"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#ff167f39"])>
xxx parse line "         #ff167f39" tokens=<StringArray#0x120939fa8(["#ff167f39"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#ff167f39' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#ff167f39' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#ff167f39
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a250(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=0.05
[trc] GRGradient::finish: i=1 spanLen=2 start=0.05 spanLastStart=0.35
[trc] GRGradient::finish: i=2 spanLen=3 start=0.35 spanLastStart=0.85
[trc] GRGradient::finish: i=3 spanLen=2 start=0.6 spanLastStart=0.85
[trc] GRGradient::finish: i=4 spanLen=2 start=0.85 spanLastStart=1
[trc] GRGradient::finish: i=5 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#af2255aa
[trc]    [1] start=0.05 color=#af4477dd
[trc]    [2] start=0.35 color=#af8ace8a
[trc]    [3] start=0.6 color=#af4679df
[trc]    [4] start=0.85 color=#ff408060
[trc]    [5] start=1 color=#ff167f39
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient blueyellow {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "blueyellow", "{"])>
xxx parse line "gradient blueyellow {" tokens=<StringArray#0x120939fa8(["gradient", "blueyellow", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='blueyellow' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='blueyellow' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='blueyellow'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=90
xxx GRParseContext: beginLine: cur_line="  #7040a0f0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["#7040a0f0"])>
xxx parse line "  #7040a0f0" tokens=<StringArray#0x12093a250(["#7040a0f0"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#7040a0f0' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#7040a0f0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#7040a0f0
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=90
xxx GRParseContext: beginLine: cur_line="  #70f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#70f0f0a0"])>
xxx parse line "  #70f0f0a0" tokens=<StringArray#0x120939fa8(["#70f0f0a0"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#70f0f0a0' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#70f0f0a0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#70f0f0a0
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a250(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=1
[trc] GRGradient::finish: i=1 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#7040a0f0
[trc]    [1] start=1 color=#70f0f0a0
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient blueyellow_multi {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "blueyellow_multi", "{"])>
xxx parse line "gradient blueyellow_multi {" tokens=<StringArray#0x120939fa8(["gradient", "blueyellow_multi", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='blueyellow_multi' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='blueyellow_multi' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='blueyellow_multi'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=90
xxx GRParseContext: beginLine: cur_line="   /*"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["/*"])>
xxx parse line "   /*" tokens=<StringArray#0x12093a250(["/*"])>
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.0 = #c0f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "0", "=", "#c0f0f0a0"])>
xxx parse line "  0.0 = #c0f0f0a0" tokens=<StringArray#0x120939fa8(["0", ".", "0", "=", "#c0f0f0a0"])>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.1 = #f0f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["0", ".", "1", "=", "#f0f0f0a0"])>
xxx parse line "  0.1 = #f0f0f0a0" tokens=<StringArray#0x12093a250(["0", ".", "1", "=", "#f0f0f0a0"])>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.45= #30f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "45", "=", "#30f0f0a0"])>
xxx parse line "  0.45= #30f0f0a0" tokens=<StringArray#0x120939fa8(["0", ".", "45", "=", "#30f0f0a0"])>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.7 = #30f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["0", ".", "7", "=", "#30f0f0a0"])>
xxx parse line "  0.7 = #30f0f0a0" tokens=<StringArray#0x12093a250(["0", ".", "7", "=", "#30f0f0a0"])>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.8 = #5040a0f0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "8", "=", "#5040a0f0"])>
xxx parse line "  0.8 = #5040a0f0" tokens=<StringArray#0x120939fa8(["0", ".", "8", "=", "#5040a0f0"])>
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.9 = #7040a0f0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["0", ".", "9", "=", "#7040a0f0"])>
xxx parse line "  0.9 = #7040a0f0" tokens=<StringArray#0x12093a250(["0", ".", "9", "=", "#7040a0f0"])>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=90
xxx GRParseContext: beginLine: cur_line="   */"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["*/"])>
xxx parse line "   */" tokens=<StringArray#0x120939fa8(["*/"])>
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=90
xxx GRParseContext: beginLine: cur_line="  #a0303000"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["#a0303000"])>
xxx parse line "  #a0303000" tokens=<StringArray#0x12093a250(["#a0303000"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#a0303000' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#a0303000' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#a0303000
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=90
xxx GRParseContext: beginLine: cur_line="  #a05080b0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#a05080b0"])>
xxx parse line "  #a05080b0" tokens=<StringArray#0x120939fa8(["#a05080b0"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#a05080b0' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#a05080b0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#a05080b0
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093a250(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=1
[trc] GRGradient::finish: i=1 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#a0303000
[trc]    [1] start=1 color=#a05080b0
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient darklight {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "darklight", "{"])>
xxx parse line "gradient darklight {" tokens=<StringArray#0x120939fa8(["gradient", "darklight", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='darklight' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='darklight' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='darklight'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=90
xxx GRParseContext: beginLine: cur_line="  #ffffffff"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["#ffffffff"])>
xxx parse line "  #ffffffff" tokens=<StringArray#0x12093a250(["#ffffffff"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#ffffffff' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#ffffffff' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#ffffffff
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.4 = #a0ffffff"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "4", "=", "#a0ffffff"])>
xxx parse line "  0.4 = #a0ffffff" tokens=<StringArray#0x120939fa8(["0", ".", "4", "=", "#a0ffffff"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='4' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#a0ffffff' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#a0ffffff' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.4 c32=#a0ffffff
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.6 = #10ffffff"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["0", ".", "6", "=", "#10ffffff"])>
xxx parse line "  0.6 = #10ffffff" tokens=<StringArray#0x12093a250(["0", ".", "6", "=", "#10ffffff"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='6' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='6' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#10ffffff' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#10ffffff' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.6 c32=#10ffffff
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.7 = #10000000"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "7", "=", "#10000000"])>
xxx parse line "  0.7 = #10000000" tokens=<StringArray#0x120939fa8(["0", ".", "7", "=", "#10000000"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='7' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='7' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#10000000' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#10000000' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.7 c32=#10000000
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=90
xxx GRParseContext: beginLine: cur_line="  #50000000"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["#50000000"])>
xxx parse line "  #50000000" tokens=<StringArray#0x12093a250(["#50000000"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#50000000' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#50000000' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#50000000
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939fa8(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=0.4
[trc] GRGradient::finish: i=1 spanLen=2 start=0.4 spanLastStart=0.6
[trc] GRGradient::finish: i=2 spanLen=2 start=0.6 spanLastStart=0.7
[trc] GRGradient::finish: i=3 spanLen=2 start=0.7 spanLastStart=1
[trc] GRGradient::finish: i=4 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#ffffffff
[trc]    [1] start=0.4 color=#a0ffffff
[trc]    [2] start=0.6 color=#10ffffff
[trc]    [3] start=0.7 color=#10000000
[trc]    [4] start=1 color=#50000000
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=90
xxx GRParseContext: beginLine: cur_line="layout = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a250(["layout", "=", "fixed"])>
xxx parse line "layout = fixed" tokens=<StringArray#0x12093a250(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=90
xxx GRParseContext: beginLine: cur_line="row="abc""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["row", "=", "abc"])>
xxx parse line "row="abc"" tokens=<StringArray#0x12093b420(["row", "=", "abc"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='abc' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='abc' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="abc"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=90
xxx GRParseContext: beginLine: cur_line="row="def""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["row", "=", "def"])>
xxx parse line "row="def"" tokens=<StringArray#0x12093a9f8(["row", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="def"
xxx addLayoutRow: add implicit node 'd'
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'f'
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=90
xxx GRParseContext: beginLine: cur_line="a->b->c"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["a", "-", ">", "b", "-", ">", "c"])>
xxx parse line "a->b->c" tokens=<StringArray#0x12093cb18(["a", "-", ">", "b", "-", ">", "c"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='-' prev_node=<a>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='c' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='c' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<b>(?,?) head<c>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=90
xxx GRParseContext: beginLine: cur_line="c->d[arrow_snap=80%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["c", "-", ">", "d", "[", "arrow_snap", "=", "80%", "]"])>
xxx parse line "c->d[arrow_snap=80%]" tokens=<StringArray#0x12093a9f8(["c", "-", ">", "d", "[", "arrow_snap", "=", "80%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='c' nTok='-' prev_node=<c>(?,?) prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='-' prev_node=<null> prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='d' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='d' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='arrow_snap' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='arrow_snap' nTok='=' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='80%' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='80%' nTok=']' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_snap" value="80%"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=90
xxx GRParseContext: beginLine: cur_line="d->e->f"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["d", "-", ">", "e", "-", ">", "f"])>
xxx parse line "d->e->f" tokens=<StringArray#0x12093cb18(["d", "-", ">", "e", "-", ">", "f"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='e' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='e' nTok='-' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='f' nTok='' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=90
xxx GRParseContext: beginLine: cur_line="a[    bg_gradient=greenblue             bg_gradient_shape=v"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["a", "[", "bg_gradient", "=", "greenblue", "bg_gradient_shape", "=", "v"])>
xxx parse line "a[    bg_gradient=greenblue             bg_gradient_shape=v" tokens=<StringArray#0x12093a9f8(["a", "[", "bg_gradient", "=", "greenblue", "bg_gradient_shape", "=", "v"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='a' nTok='[' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='[' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='greenblue' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='greenblue' nTok='bg_gradient_shape' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="greenblue"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='v' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='v' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="v"
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_gradient=greenblue_multi   border_gradient_shape=v"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["border_gradient", "=", "greenblue_multi", "border_gradient_shape", "=", "v"])>
xxx parse line "  border_gradient=greenblue_multi   border_gradient_shape=v" tokens=<StringArray#0x12093cb18(["border_gradient", "=", "greenblue_multi", "border_gradient_shape", "=", "v"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_gradient' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='greenblue_multi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='greenblue_multi' nTok='border_gradient_shape' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_gradient" value="greenblue_multi"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_gradient_shape' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='v' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='v' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_gradient_shape" value="v"
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#aaa"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["border_color", "=", "#aaa"])>
xxx parse line "  border_color=#aaa" tokens=<StringArray#0x12093a9f8(["border_color", "=", "#aaa"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#aaa' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#aaa' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#aaa"
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093cb18(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=90
xxx GRParseContext: beginLine: cur_line="b[    bg_gradient=blueyellow            bg_gradient_shape=h"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["b", "[", "bg_gradient", "=", "blueyellow", "bg_gradient_shape", "=", "h"])>
xxx parse line "b[    bg_gradient=blueyellow            bg_gradient_shape=h" tokens=<StringArray#0x12093a9f8(["b", "[", "bg_gradient", "=", "blueyellow", "bg_gradient_shape", "=", "h"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='blueyellow' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='blueyellow' nTok='bg_gradient_shape' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="blueyellow"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='h' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='h' nTok='' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="h"
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_gradient=blueyellow_multi  border_gradient_shape=h"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["border_gradient", "=", "blueyellow_multi", "border_gradient_shape", "=", "h"])>
xxx parse line "  border_gradient=blueyellow_multi  border_gradient_shape=h" tokens=<StringArray#0x12093cb18(["border_gradient", "=", "blueyellow_multi", "border_gradient_shape", "=", "h"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_gradient' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='blueyellow_multi' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='blueyellow_multi' nTok='border_gradient_shape' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_gradient" value="blueyellow_multi"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_gradient_shape' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='h' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='h' nTok='' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_gradient_shape" value="h"
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#666"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["border_color", "=", "#666"])>
xxx parse line "  border_color=#666" tokens=<StringArray#0x12093a9f8(["border_color", "=", "#666"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#666' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#666' nTok='' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#666"
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093cb18(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=90
xxx GRParseContext: beginLine: cur_line="c[    bg_gradient=darklight             bg_gradient_shape=r"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["c", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "r"])>
xxx parse line "c[    bg_gradient=darklight             bg_gradient_shape=r" tokens=<StringArray#0x12093a9f8(["c", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "r"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='darklight' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='darklight' nTok='bg_gradient_shape' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="darklight"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='r' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='r' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="r"
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#000"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["border_color", "=", "#000"])>
xxx parse line "  border_color=#000" tokens=<StringArray#0x12093cb18(["border_color", "=", "#000"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#000' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#000' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#000"
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgcolor=#eec"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["bgcolor", "=", "#eec"])>
xxx parse line "  bgcolor=#eec" tokens=<StringArray#0x12093a9f8(["bgcolor", "=", "#eec"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bgcolor' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#eec' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#eec' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#eec"
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093cb18(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=90
xxx GRParseContext: beginLine: cur_line="d[    bg_gradient=darklight             bg_gradient_shape=h"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["d", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "h"])>
xxx parse line "d[    bg_gradient=darklight             bg_gradient_shape=h" tokens=<StringArray#0x12093a9f8(["d", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "h"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='darklight' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='darklight' nTok='bg_gradient_shape' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="darklight"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='h' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='h' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="h"
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#888"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["border_color", "=", "#888"])>
xxx parse line "  border_color=#888" tokens=<StringArray#0x12093cb18(["border_color", "=", "#888"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#888' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#888' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#888"
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgcolor=#eec"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["bgcolor", "=", "#eec"])>
xxx parse line "  bgcolor=#eec" tokens=<StringArray#0x12093a9f8(["bgcolor", "=", "#eec"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bgcolor' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#eec' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#eec' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#eec"
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=90
xxx GRParseContext: beginLine: cur_line="  bg_pattern=lines_4      bg_pattern_intensity=0.2"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parse line "  bg_pattern=lines_4      bg_pattern_intensity=0.2" tokens=<StringArray#0x12093cb18(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bg_pattern' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='lines_4' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='lines_4' nTok='bg_pattern_intensity' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="lines_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='bg_pattern_intensity' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='2' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='2' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="0.2"
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_pattern=checker_1  border_pattern_intensity=0.9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parse line "  border_pattern=checker_1  border_pattern_intensity=0.9" tokens=<StringArray#0x12093a9f8(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_pattern' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='checker_1' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='checker_1' nTok='border_pattern_intensity' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern" value="checker_1"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_pattern_intensity' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='9' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='9' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern_intensity" value="0.9"
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093cb18(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=90
xxx GRParseContext: beginLine: cur_line="e[    bg_gradient=darklight             bg_gradient_shape=v"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["e", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "v"])>
xxx parse line "e[    bg_gradient=darklight             bg_gradient_shape=v" tokens=<StringArray#0x12093a9f8(["e", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "v"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='darklight' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='darklight' nTok='bg_gradient_shape' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="darklight"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='v' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='v' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="v"
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#888"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["border_color", "=", "#888"])>
xxx parse line "  border_color=#888" tokens=<StringArray#0x12093cb18(["border_color", "=", "#888"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#888' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#888' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#888"
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgcolor=#eec"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["bgcolor", "=", "#eec"])>
xxx parse line "  bgcolor=#eec" tokens=<StringArray#0x12093a9f8(["bgcolor", "=", "#eec"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bgcolor' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#eec' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#eec' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#eec"
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=90
xxx GRParseContext: beginLine: cur_line="  bg_pattern=lines_4      bg_pattern_intensity=0.2"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parse line "  bg_pattern=lines_4      bg_pattern_intensity=0.2" tokens=<StringArray#0x12093cb18(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bg_pattern' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='lines_4' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='lines_4' nTok='bg_pattern_intensity' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="lines_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='bg_pattern_intensity' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='2' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='2' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="0.2"
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_pattern=checker_1  border_pattern_intensity=0.9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parse line "  border_pattern=checker_1  border_pattern_intensity=0.9" tokens=<StringArray#0x12093a9f8(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_pattern' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='checker_1' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='checker_1' nTok='border_pattern_intensity' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern" value="checker_1"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_pattern_intensity' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='9' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='9' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern_intensity" value="0.9"
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093cb18(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=90
xxx GRParseContext: beginLine: cur_line="f[    bg_gradient=darklight             bg_gradient_shape=r"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["f", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "r"])>
xxx parse line "f[    bg_gradient=darklight             bg_gradient_shape=r" tokens=<StringArray#0x12093a9f8(["f", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "r"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='darklight' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='darklight' nTok='bg_gradient_shape' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="darklight"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='r' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='r' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="r"
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#888"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["border_color", "=", "#888"])>
xxx parse line "  border_color=#888" tokens=<StringArray#0x12093cb18(["border_color", "=", "#888"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#888' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#888' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#888"
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgcolor=#eec"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["bgcolor", "=", "#eec"])>
xxx parse line "  bgcolor=#eec" tokens=<StringArray#0x12093a9f8(["bgcolor", "=", "#eec"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bgcolor' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#eec' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#eec' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#eec"
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=90
xxx GRParseContext: beginLine: cur_line="  bg_pattern=lines_4      bg_pattern_intensity=0.2"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parse line "  bg_pattern=lines_4      bg_pattern_intensity=0.2" tokens=<StringArray#0x12093cb18(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bg_pattern' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='lines_4' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='lines_4' nTok='bg_pattern_intensity' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="lines_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='bg_pattern_intensity' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='2' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='2' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="0.2"
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_pattern=checker_1  border_pattern_intensity=0.9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parse line "  border_pattern=checker_1  border_pattern_intensity=0.9" tokens=<StringArray#0x12093a9f8(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_pattern' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='checker_1' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='checker_1' nTok='border_pattern_intensity' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern" value="checker_1"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_pattern_intensity' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='9' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='9' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern_intensity" value="0.9"
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093cb18(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=90
xxx popParseContext cur=<class<GRParseContext>#0x1503e2180((null))> line_idx=90 parse_context_stack=<PointerArray#0x120939170([<@0x1503e2180>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 28 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=3 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="b"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="d"
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell="e"
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell="f"
xxx layoutFixedPlaceRowNodes: aRow=["a", "b", "c"]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;64)=a
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(65;64)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(66;64)=c
xxx layoutFixedPlaceRowNodes: aRow=["d", "e", "f"]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(64;65)=d
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(65;65)=e
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(66;65)=f
[dbg] Graph::trimToBoundingBox: bb=(64;64;66;65) sz=(3x2)
[trc] debugPrintNodes: n[0] = <a>(0,0) label="a" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "bg_gradient_shape"="v", "shape"="round", "border_width"="1.5", "border_gradient_shape"="v", "border_gradient"="greenblue_multi", "border_color"="#00aaaaaa", "bg_gradient"="greenblue", "h"="64"]
[trc] debugPrintNodes: n[1] = <b>(1,0) label="b" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "bg_gradient_shape"="h", "shape"="round", "border_width"="1.5", "border_gradient_shape"="h", "border_gradient"="blueyellow_multi", "border_color"="#00666666", "bg_gradient"="blueyellow", "h"="64"]
[trc] debugPrintNodes: n[2] = <c>(2,0) label="c" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "bg_gradient_shape"="r", "bgcolor"="#00eeeecc", "shape"="round", "border_width"="1.5", "border_color"="#00000000", "bg_gradient"="darklight", "h"="64"]
[trc] debugPrintNodes: n[3] = <d>(0,1) label="d" gr_attribs=#["bg_pattern"="lines_4", "class"="default", "border_pattern_intensity"="0.9", "bgtint"="#00eeeeee", "w"="64", "bg_pattern_intensity"="0.2", "bg_gradient_shape"="h", "bgcolor"="#00eeeecc", "border_pattern"="checker_1", "shape"="round", "border_width"="1.5", "border_color"="#00888888", "bg_gradient"="darklight", "h"="64"]
[trc] debugPrintNodes: n[4] = <e>(1,1) label="e" gr_attribs=#["bg_pattern"="lines_4", "class"="default", "border_pattern_intensity"="0.9", "bgtint"="#00eeeeee", "w"="64", "bg_pattern_intensity"="0.2", "bg_gradient_shape"="v", "bgcolor"="#00eeeecc", "border_pattern"="checker_1", "shape"="round", "border_width"="1.5", "border_color"="#00888888", "bg_gradient"="darklight", "h"="64"]
[trc] debugPrintNodes: n[5] = <f>(2,1) label="f" gr_attribs=#["bg_pattern"="lines_4", "class"="default", "border_pattern_intensity"="0.9", "bgtint"="#00eeeeee", "w"="64", "bg_pattern_intensity"="0.2", "bg_gradient_shape"="r", "bgcolor"="#00eeeecc", "border_pattern"="checker_1", "shape"="round", "border_width"="1.5", "border_color"="#00888888", "bg_gradient"="darklight", "h"="64"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(1,0)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "h"="64"]
[trc] debugPrintEdges: e[1] = edge<tail<b>(1,0) head<c>(2,0)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "h"="64"]
[trc] debugPrintEdges: e[2] = edge<tail<c>(2,0) head<d>(0,1)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "arrow_snap"="80%", "h"="64"]
[trc] debugPrintEdges: e[3] = edge<tail<d>(0,1) head<e>(1,1)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "h"="64"]
[trc] debugPrintEdges: e[4] = edge<tail<e>(1,1) head<f>(2,1)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "h"="64"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<a>(0,0) => head<b>(1,0) style=normal
[trc] draw edge: tail<<b>(1,0) => head<c>(2,0) style=normal
[trc] draw edge: tail<<c>(2,0) => head<d>(0,1) style=normal
[trc] draw edge: tail<<d>(0,1) => head<e>(1,1) style=normal
[trc] draw edge: tail<<e>(1,1) => head<f>(2,1) style=normal
main[3x2]=
 _________ 
|.........|
|.a>>b>>c.|
|.......v.|
|.v.......|
|.d>>e>>f.|
|.........|
 --------- 
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#ffffffff
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.025641 c32=#f8ffffff
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.0512821 c32=#f2ffffff
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.0769231 c32=#ecffffff
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.102564 c32=#e6ffffff
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.128205 c32=#e0ffffff
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.153846 c32=#daffffff
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.179487 c32=#d4ffffff
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.205128 c32=#ceffffff
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.230769 c32=#c8ffffff
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.25641 c32=#c2ffffff
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.282051 c32=#bcffffff
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.307692 c32=#b5ffffff
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.333333 c32=#afffffff
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.358974 c32=#a9ffffff
[>>>] GRGradient::getOrCreateTexture: x=15 p=0.384615 c32=#a3ffffff
[>>>] GRGradient::getOrCreateTexture: x=16 p=0.410256 c32=#98ffffff
[>>>] GRGradient::getOrCreateTexture: x=17 p=0.435897 c32=#86ffffff
[>>>] GRGradient::getOrCreateTexture: x=18 p=0.461538 c32=#73ffffff
[>>>] GRGradient::getOrCreateTexture: x=19 p=0.487179 c32=#61ffffff
[>>>] GRGradient::getOrCreateTexture: x=20 p=0.512821 c32=#4effffff
[>>>] GRGradient::getOrCreateTexture: x=21 p=0.538462 c32=#3cffffff
[>>>] GRGradient::getOrCreateTexture: x=22 p=0.564103 c32=#29ffffff
[>>>] GRGradient::getOrCreateTexture: x=23 p=0.589744 c32=#17ffffff
[>>>] GRGradient::getOrCreateTexture: x=24 p=0.615385 c32=#10d7d7d7
[>>>] GRGradient::getOrCreateTexture: x=25 p=0.641026 c32=#10969696
[>>>] GRGradient::getOrCreateTexture: x=26 p=0.666667 c32=#10545454
[>>>] GRGradient::getOrCreateTexture: x=27 p=0.692308 c32=#10131313
[>>>] GRGradient::getOrCreateTexture: x=28 p=0.717949 c32=#13000000
[>>>] GRGradient::getOrCreateTexture: x=29 p=0.74359 c32=#19000000
[>>>] GRGradient::getOrCreateTexture: x=30 p=0.769231 c32=#1e000000
[>>>] GRGradient::getOrCreateTexture: x=31 p=0.794872 c32=#24000000
[>>>] GRGradient::getOrCreateTexture: x=32 p=0.820513 c32=#29000000
[>>>] GRGradient::getOrCreateTexture: x=33 p=0.846154 c32=#2f000000
[>>>] GRGradient::getOrCreateTexture: x=34 p=0.871795 c32=#34000000
[>>>] GRGradient::getOrCreateTexture: x=35 p=0.897436 c32=#3a000000
[>>>] GRGradient::getOrCreateTexture: x=36 p=0.923077 c32=#3f000000
[>>>] GRGradient::getOrCreateTexture: x=37 p=0.948718 c32=#45000000
[>>>] GRGradient::getOrCreateTexture: x=38 p=0.974359 c32=#4a000000
[>>>] GRGradient::getOrCreateTexture: x=39 p=1 c32=#50000000
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#af2255aa
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.0212766 c32=#af3063bf
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.0425532 c32=#af3e71d5
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.0638298 c32=#af477bd9
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.0851064 c32=#af4c81d3
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.106383 c32=#af5187cd
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.12766 c32=#af568dc7
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.148936 c32=#af5b93c1
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.170213 c32=#af6099bb
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.191489 c32=#af65a0b5
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.212766 c32=#af69a6af
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.234043 c32=#af6eacaa
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.255319 c32=#af73b2a4
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.276596 c32=#af78b89e
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.297872 c32=#af7dbe98
[>>>] GRGradient::getOrCreateTexture: x=15 p=0.319149 c32=#af82c592
[>>>] GRGradient::getOrCreateTexture: x=16 p=0.340426 c32=#af87cb8c
[>>>] GRGradient::getOrCreateTexture: x=17 p=0.361702 c32=#af86ca8d
[>>>] GRGradient::getOrCreateTexture: x=18 p=0.382979 c32=#af81c295
[>>>] GRGradient::getOrCreateTexture: x=19 p=0.404255 c32=#af7bbb9c
[>>>] GRGradient::getOrCreateTexture: x=20 p=0.425532 c32=#af75b4a3
[>>>] GRGradient::getOrCreateTexture: x=21 p=0.446808 c32=#af6fadaa
[>>>] GRGradient::getOrCreateTexture: x=22 p=0.468085 c32=#af69a5b2
[>>>] GRGradient::getOrCreateTexture: x=23 p=0.489362 c32=#af649eb9
[>>>] GRGradient::getOrCreateTexture: x=24 p=0.510638 c32=#af5e97c0
[>>>] GRGradient::getOrCreateTexture: x=25 p=0.531915 c32=#af5890c7
[>>>] GRGradient::getOrCreateTexture: x=26 p=0.553191 c32=#af5288cf
[>>>] GRGradient::getOrCreateTexture: x=27 p=0.574468 c32=#af4c81d6
[>>>] GRGradient::getOrCreateTexture: x=28 p=0.595745 c32=#af477add
[>>>] GRGradient::getOrCreateTexture: x=29 p=0.617021 c32=#b44579d6
[>>>] GRGradient::getOrCreateTexture: x=30 p=0.638298 c32=#bb457acb
[>>>] GRGradient::getOrCreateTexture: x=31 p=0.659574 c32=#c2447ac0
[>>>] GRGradient::getOrCreateTexture: x=32 p=0.680851 c32=#c8447bb5
[>>>] GRGradient::getOrCreateTexture: x=33 p=0.702128 c32=#cf437bab
[>>>] GRGradient::getOrCreateTexture: x=34 p=0.723404 c32=#d6437ca0
[>>>] GRGradient::getOrCreateTexture: x=35 p=0.744681 c32=#dd427d95
[>>>] GRGradient::getOrCreateTexture: x=36 p=0.765957 c32=#e4427d8a
[>>>] GRGradient::getOrCreateTexture: x=37 p=0.787234 c32=#ea417e7f
[>>>] GRGradient::getOrCreateTexture: x=38 p=0.808511 c32=#f1407e75
[>>>] GRGradient::getOrCreateTexture: x=39 p=0.829787 c32=#f8407f6a
[>>>] GRGradient::getOrCreateTexture: x=40 p=0.851064 c32=#ff3f7f5f
[>>>] GRGradient::getOrCreateTexture: x=41 p=0.87234 c32=#ff397f5a
[>>>] GRGradient::getOrCreateTexture: x=42 p=0.893617 c32=#ff337f54
[>>>] GRGradient::getOrCreateTexture: x=43 p=0.914894 c32=#ff2d7f4f
[>>>] GRGradient::getOrCreateTexture: x=44 p=0.93617 c32=#ff277f49
[>>>] GRGradient::getOrCreateTexture: x=45 p=0.957447 c32=#ff217f44
[>>>] GRGradient::getOrCreateTexture: x=46 p=0.978723 c32=#ff1b7f3e
[>>>] GRGradient::getOrCreateTexture: x=47 p=1 c32=#ff167f39
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#6f66ff99
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.0666667 c32=#6f66f89f
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.133333 c32=#6f66f1a6
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.2 c32=#6f66eaad
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.266667 c32=#6f66e3b4
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.333333 c32=#6f66ddbb
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.4 c32=#6f66d6c1
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.466667 c32=#6f66cfc8
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.533333 c32=#6f66c8cf
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.6 c32=#6f66c1d6
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.666667 c32=#6f66bbdd
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.733333 c32=#6f66b4e3
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.8 c32=#6f66adea
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.866667 c32=#6f66a6f1
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.933333 c32=#6f669ff8
[>>>] GRGradient::getOrCreateTexture: x=15 p=1 c32=#6f6699ff
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#a0303000
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.0666667 c32=#a032350b
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.133333 c32=#a0343a17
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.2 c32=#a0364023
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.266667 c32=#a038452e
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.333333 c32=#a03a4a3a
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.4 c32=#a03c5046
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.466667 c32=#a03e5552
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.533333 c32=#a0415a5d
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.6 c32=#a0436069
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.666667 c32=#a0456575
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.733333 c32=#a0476a81
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.8 c32=#a049708c
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.866667 c32=#a04b7598
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.933333 c32=#a04d7aa4
[>>>] GRGradient::getOrCreateTexture: x=15 p=1 c32=#a05080b0
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#7040a0f0
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.0666667 c32=#704ba5ea
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.133333 c32=#7057aae5
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.2 c32=#7063b0e0
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.266667 c32=#706eb5da
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.333333 c32=#707abad5
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.4 c32=#7086c0d0
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.466667 c32=#7092c5ca
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.533333 c32=#709dcac5
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.6 c32=#70a9d0c0
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.666667 c32=#70b5d5ba
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.733333 c32=#70c1dab5
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.8 c32=#70cce0b0
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.866667 c32=#70d8e5aa
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.933333 c32=#70e4eaa5
[>>>] GRGradient::getOrCreateTexture: x=15 p=1 c32=#70f0f0a0
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 2 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(8;8;524;312)
[dbg] ui::Shader_PatternGradientH::create: OK.
[dbg] ui::Shader_PatternGradientV::create: OK.
[dbg] ui::Shader_PatternGradientR::create: OK.
[dbg] ui::Shader_GradientV::create: OK.
[dbg] ui::Shader_GradientH::create: OK.
[dbg] ui::Shader_GradientR::create: OK.
[...] ===================================================== GraphForm::processGRFile("gr/test34.gr")
xxx Graph::buildPathname: newPathname="gr/test34.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test34.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x15047dcc0((null))> name="gr/test34.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// auto col/row spans and id-renaming"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=38
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=38
xxx GRParseContext: beginLine: cur_line="style def {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["style", "def", "{"])>
xxx parse line "style def {" tokens=<StringArray#0x12093cb18(["style", "def", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='def' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='def'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=38
xxx GRParseContext: beginLine: cur_line="  bgcolor      = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["bgcolor", "=", "#eee"])>
xxx parse line "  bgcolor      = #eee" tokens=<StringArray#0x120939b20(["bgcolor", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgcolor" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=38
xxx GRParseContext: beginLine: cur_line="  fgcolor      = #000"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["fgcolor", "=", "#000"])>
xxx parse line "  fgcolor      = #000" tokens=<StringArray#0x12093cb18(["fgcolor", "=", "#000"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='fgcolor' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#000' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#000' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="fgcolor" value="#000"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=38
xxx GRParseContext: beginLine: cur_line="  shape        = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["shape", "=", "round"])>
xxx parse line "  shape        = round" tokens=<StringArray#0x120939b20(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=38
xxx GRParseContext: beginLine: cur_line="  border_width = 1"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["border_width", "=", "1"])>
xxx parse line "  border_width = 1" tokens=<StringArray#0x12093cb18(["border_width", "=", "1"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=38
xxx GRParseContext: beginLine: cur_line="  border_color = #999"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["border_color", "=", "#999"])>
xxx parse line "  border_color = #999" tokens=<StringArray#0x120939b20(["border_color", "=", "#999"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_color' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#999' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#999' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_color" value="#999"
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=38
xxx GRParseContext: beginLine: cur_line="  align        = expand"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["align", "=", "expand"])>
xxx parse line "  align        = expand" tokens=<StringArray#0x12093cb18(["align", "=", "expand"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='align' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='expand' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='expand' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="align" value="expand"
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=38
xxx GRParseContext: beginLine: cur_line="  w = 16"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["w", "=", "16"])>
xxx parse line "  w = 16" tokens=<StringArray#0x120939b20(["w", "=", "16"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='w' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='16' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='16' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="w" value="16"
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=38
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093cb18(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=38
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=38
xxx GRParseContext: beginLine: cur_line="style invis {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["style", "invis", "{"])>
xxx parse line "style invis {" tokens=<StringArray#0x120939b20(["style", "invis", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE(100:1) cTok='invis' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='invis'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=38
xxx GRParseContext: beginLine: cur_line="  bgfill = false"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["bgfill", "=", "false"])>
xxx parse line "  bgfill = false" tokens=<StringArray#0x12093cb18(["bgfill", "=", "false"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgfill' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='false' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='false' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgfill" value="false"
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=38
xxx GRParseContext: beginLine: cur_line="  shape = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["shape", "=", "none"])>
xxx parse line "  shape = none" tokens=<StringArray#0x120939b20(["shape", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=38
xxx GRParseContext: beginLine: cur_line="  label_style = none"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["label_style", "=", "none"])>
xxx parse line "  label_style = none" tokens=<StringArray#0x12093cb18(["label_style", "=", "none"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='label_style' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='none' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='none' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="label_style" value="none"
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=38
xxx GRParseContext: beginLine: cur_line="  s = 1,20"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["s", "=", "1,20"])>
xxx parse line "  s = 1,20" tokens=<StringArray#0x120939b20(["s", "=", "1,20"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1,20' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1,20' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="1;20"
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=38
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093cb18(["}"])>
xxx parse line "}" tokens=<StringArray#0x12093cb18(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=38
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=38
xxx GRParseContext: beginLine: cur_line="layout       = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["layout", "=", "fixed"])>
xxx parse line "layout       = fixed" tokens=<StringArray#0x120939b20(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=38
xxx GRParseContext: beginLine: cur_line="ipad         = 0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939738(["ipad", "=", "0"])>
xxx parse line "ipad         = 0" tokens=<StringArray#0x120939738(["ipad", "=", "0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='ipad' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok='' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150471640((null))> id=main gr_attribs=<HashTable#0x13005bd60(#["ipad"="0"])>
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=38
xxx GRParseContext: beginLine: cur_line="zero_margin  = true;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["zero_margin", "=", "true", ";"])>
xxx parse line "zero_margin  = true;" tokens=<StringArray#0x120939b20(["zero_margin", "=", "true", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='zero_margin' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='true' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='true' nTok=';' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set zero_margin=1
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=38
xxx GRParseContext: beginLine: cur_line="row_padding  = 0;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939738(["row_padding", "=", "0", ";"])>
xxx parse line "row_padding  = 0;" tokens=<StringArray#0x120939738(["row_padding", "=", "0", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150471640((null))> id=main gr_attribs=<HashTable#0x13005bd60(#["ipad"="0", "row_padding"="0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=38
xxx GRParseContext: beginLine: cur_line="col_padding  = 0;"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939b20(["col_padding", "=", "0", ";"])>
xxx parse line "col_padding  = 0;" tokens=<StringArray#0x120939b20(["col_padding", "=", "0", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='col_padding' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='0' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='0' nTok=';' prev_node=<null> prev_edge=<null>
xxx addGraphAttrib: graph=<class<Graph>#0x150471640((null))> id=main gr_attribs=<HashTable#0x13005bd60(#["ipad"="0", "row_padding"="0", "col_padding"="0"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=38
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=38
xxx GRParseContext: beginLine: cur_line="row="aab ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939738(["row", "=", "aab ", ";"])>
xxx parse line "row="aab ";" tokens=<StringArray#0x120939738(["row", "=", "aab ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='aab ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='aab ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="aab "
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=38
xxx GRParseContext: beginLine: cur_line="row="cdbf";  // (note) rows that just contain continued spans will not increase pixel width / height"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939af8(["row", "=", "cdbf", ";"])>
xxx parse line "row="cdbf";  " tokens=<StringArray#0x120939af8(["row", "=", "cdbf", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='cdbf' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='cdbf' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="cdbf"
xxx addLayoutRow: add implicit node 'c'
xxx addLayoutRow: add implicit node 'd'
xxx addLayoutRow: add implicit node 'f'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=38
xxx GRParseContext: beginLine: cur_line="row="cdbg";  //           => must add invisible layout helper node OR force pixel width / height"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a9f8(["row", "=", "cdbg", ";"])>
xxx parse line "row="cdbg";  " tokens=<StringArray#0x12093a9f8(["row", "=", "cdbg", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='cdbg' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='cdbg' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="cdbg"
xxx addLayoutRow: add implicit node 'g'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=38
xxx GRParseContext: beginLine: cur_line="row="eee ";"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["row", "=", "eee ", ";"])>
xxx parse line "row="eee ";" tokens=<StringArray#0x12093b420(["row", "=", "eee ", ";"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='eee ' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='eee ' nTok=';' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="eee "
xxx addLayoutRow: add implicit node 'e'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok=';' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=38
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=38
xxx GRParseContext: beginLine: cur_line="class=invis f g"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["class", "=", "invis", "f", "g"])>
xxx parse line "class=invis f g" tokens=<StringArray#0x120939fa8(["class", "=", "invis", "f", "g"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='invis' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='invis' nTok='f' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'invis'
xxx parseNextToken: state=ST_GRAPH_BODY(202:3) cTok='f' nTok='g' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:4) cTok='g' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'g' already exists (skipping)
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=38
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=38
xxx GRParseContext: beginLine: cur_line="class=def"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["class", "=", "def"])>
xxx parse line "class=def" tokens=<StringArray#0x12093b420(["class", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='class' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ASSIGN(241:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_STYLE_ID(242:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY_STYLE_ID: select node+edge style class 'def'
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=38
xxx GRParseContext: beginLine: cur_line="a [id=bt_a]  // rename "a" to "bt_a""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["a", "[", "id", "=", "bt_a", "]"])>
xxx parse line "a [id=bt_a]  " tokens=<StringArray#0x120939fa8(["a", "[", "id", "=", "bt_a", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='bt_a' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='bt_a' nTok=']' prev_node=<a>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='a' newId='bt_a' table_layout_rows=<PointerArray#0x120939b20([["a", "a", "b", " "], ["c", "d", "b", "f"], ["c", "d", "b", "g"], ["e", "e", "e", " "]])>
xxx renameNode: id='a' newId='bt_a' orig_graph=<class<Graph>#0x150471640((null))> orig_graph.table_layout_rows=<PointerArray#0x120939b20([["bt_a", "bt_a", "b", " "], ["c", "d", "b", "f"], ["c", "d", "b", "g"], ["e", "e", "e", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<bt_a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=38
xxx GRParseContext: beginLine: cur_line="b [id=bt_b]  // rename "b" to "bt_b""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["b", "[", "id", "=", "bt_b", "]"])>
xxx parse line "b [id=bt_b]  " tokens=<StringArray#0x12093b420(["b", "[", "id", "=", "bt_b", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='bt_b' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='bt_b' nTok=']' prev_node=<b>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='b' newId='bt_b' table_layout_rows=<PointerArray#0x120939b20([["bt_a", "bt_a", "b", " "], ["c", "d", "b", "f"], ["c", "d", "b", "g"], ["e", "e", "e", " "]])>
xxx renameNode: id='b' newId='bt_b' orig_graph=<class<Graph>#0x150471640((null))> orig_graph.table_layout_rows=<PointerArray#0x120939b20([["bt_a", "bt_a", "bt_b", " "], ["c", "d", "bt_b", "f"], ["c", "d", "bt_b", "g"], ["e", "e", "e", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<bt_b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=38
xxx GRParseContext: beginLine: cur_line="c [id=bt_c]  // rename "c" to "bt_c""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["c", "[", "id", "=", "bt_c", "]"])>
xxx parse line "c [id=bt_c]  " tokens=<StringArray#0x120939fa8(["c", "[", "id", "=", "bt_c", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='bt_c' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='bt_c' nTok=']' prev_node=<c>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='c' newId='bt_c' table_layout_rows=<PointerArray#0x120939b20([["bt_a", "bt_a", "bt_b", " "], ["c", "d", "bt_b", "f"], ["c", "d", "bt_b", "g"], ["e", "e", "e", " "]])>
xxx renameNode: id='c' newId='bt_c' orig_graph=<class<Graph>#0x150471640((null))> orig_graph.table_layout_rows=<PointerArray#0x120939b20([["bt_a", "bt_a", "bt_b", " "], ["bt_c", "d", "bt_b", "f"], ["bt_c", "d", "bt_b", "g"], ["e", "e", "e", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<bt_c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=38
xxx GRParseContext: beginLine: cur_line="d [id=bt_d]  // rename "d" to "bt_d""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["d", "[", "id", "=", "bt_d", "]"])>
xxx parse line "d [id=bt_d]  " tokens=<StringArray#0x12093b420(["d", "[", "id", "=", "bt_d", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='bt_d' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='bt_d' nTok=']' prev_node=<d>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='d' newId='bt_d' table_layout_rows=<PointerArray#0x120939b20([["bt_a", "bt_a", "bt_b", " "], ["bt_c", "d", "bt_b", "f"], ["bt_c", "d", "bt_b", "g"], ["e", "e", "e", " "]])>
xxx renameNode: id='d' newId='bt_d' orig_graph=<class<Graph>#0x150471640((null))> orig_graph.table_layout_rows=<PointerArray#0x120939b20([["bt_a", "bt_a", "bt_b", " "], ["bt_c", "bt_d", "bt_b", "f"], ["bt_c", "bt_d", "bt_b", "g"], ["e", "e", "e", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<bt_d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=38
xxx GRParseContext: beginLine: cur_line="e [id=bt_e]  // rename "e" to "bt_e""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["e", "[", "id", "=", "bt_e", "]"])>
xxx parse line "e [id=bt_e]  " tokens=<StringArray#0x120939fa8(["e", "[", "id", "=", "bt_e", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='id' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='id' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='bt_e' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='bt_e' nTok=']' prev_node=<e>(?,?) prev_edge=<null>
xxx renameLayoutRowNodeRefs: oldId='e' newId='bt_e' table_layout_rows=<PointerArray#0x120939b20([["bt_a", "bt_a", "bt_b", " "], ["bt_c", "bt_d", "bt_b", "f"], ["bt_c", "bt_d", "bt_b", "g"], ["e", "e", "e", " "]])>
xxx renameNode: id='e' newId='bt_e' orig_graph=<class<Graph>#0x150471640((null))> orig_graph.table_layout_rows=<PointerArray#0x120939b20([["bt_a", "bt_a", "bt_b", " "], ["bt_c", "bt_d", "bt_b", "f"], ["bt_c", "bt_d", "bt_b", "g"], ["bt_e", "bt_e", "bt_e", " "]])>
xxx renameNode:                                parent_subgraph=<null#0x600001f9d240> parent_subgraph.table_layout_rows=
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok=']' nTok='' prev_node=<bt_e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=38
xxx popParseContext cur=<class<GRParseContext>#0x15047dcc0((null))> line_idx=38 parse_context_stack=<PointerArray#0x12093ceb0([<@0x15047dcc0>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 23 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=4 gridH=4
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="bt_a"
[trc] Node::addNodeAttrib: key="sw" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="bt_a" => spanW=2 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="bt_b"
[trc] Node::addNodeAttrib: key="sh" value="3"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="bt_b" => spanW=1 spanH=3 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(3,0) sCell=" "
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="bt_c"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="bt_c" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell="bt_d"
[trc] Node::addNodeAttrib: key="sh" value="2"
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell="bt_d" => spanW=1 spanH=2 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,1) sCell="f"
[>>>] findSpansFromLayoutRows: grid=(0,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(1,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,2) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,2) sCell="g"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="bt_e"
[trc] Node::addNodeAttrib: key="sw" value="3"
[>>>] findSpansFromLayoutRows: grid=(0,3) sCell="bt_e" => spanW=3 spanH=1 n.isIO=0
[>>>] findSpansFromLayoutRows: grid=(1,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(2,3) sCell=""
[>>>] findSpansFromLayoutRows: grid=(3,3) sCell=" "
xxx layoutFixedPlaceRowNodes: aRow=["bt_a", "", "bt_b", " "]
xxx layoutFixedPlaceRowNodes: sId="bt_a"
[trc] setCell(64;64)=bt_a
xxx layoutFixedPlaceRowNodes: sId="bt_b"
[trc] setCell(66;64)=bt_b
xxx layoutFixedPlaceRowNodes: aRow=["bt_c", "bt_d", "", "f"]
xxx layoutFixedPlaceRowNodes: sId="bt_c"
[trc] setCell(64;65)=bt_c
xxx layoutFixedPlaceRowNodes: sId="bt_d"
[trc] setCell(65;65)=bt_d
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(67;65)=f
xxx layoutFixedPlaceRowNodes: aRow=["", "", "", "g"]
xxx layoutFixedPlaceRowNodes: sId="g"
[trc] setCell(67;66)=g
xxx layoutFixedPlaceRowNodes: aRow=["bt_e", "", "", " "]
xxx layoutFixedPlaceRowNodes: sId="bt_e"
[trc] setCell(64;67)=bt_e
[dbg] Graph::trimToBoundingBox: bb=(64;64;67;67) sz=(4x4)
[trc] debugPrintNodes: n[0] = <bt_a>(0,0) label="a" gr_attribs=#["class"="def", "w"="16", "bgcolor"="#00eeeeee", "shape"="round", "sw"="2", "border_width"="1", "align"="expand", "fgcolor"="#00000000", "border_color"="#00999999"]
[trc] debugPrintNodes: n[1] = <bt_b>(2,0) label="b" gr_attribs=#["class"="def", "sh"="3", "w"="16", "bgcolor"="#00eeeeee", "shape"="round", "border_width"="1", "align"="expand", "fgcolor"="#00000000", "border_color"="#00999999"]
[trc] debugPrintNodes: n[2] = <bt_c>(0,1) label="c" gr_attribs=#["class"="def", "sh"="2", "w"="16", "bgcolor"="#00eeeeee", "shape"="round", "border_width"="1", "align"="expand", "fgcolor"="#00000000", "border_color"="#00999999"]
[trc] debugPrintNodes: n[3] = <bt_d>(1,1) label="d" gr_attribs=#["class"="def", "sh"="2", "w"="16", "bgcolor"="#00eeeeee", "shape"="round", "border_width"="1", "align"="expand", "fgcolor"="#00000000", "border_color"="#00999999"]
[trc] debugPrintNodes: n[4] = <f>(3,1) label="f" gr_attribs=#["class"="def", "w"="1", "bgfill"="0", "label_style"="none", "bgcolor"="#00eeeeee", "shape"="none", "border_width"="1", "align"="expand", "fgcolor"="#00000000", "border_color"="#00999999", "h"="20"]
[trc] debugPrintNodes: n[5] = <g>(3,2) label="g" gr_attribs=#["class"="def", "w"="1", "bgfill"="0", "label_style"="none", "bgcolor"="#00eeeeee", "shape"="none", "border_width"="1", "align"="expand", "fgcolor"="#00000000", "border_color"="#00999999", "h"="20"]
[trc] debugPrintNodes: n[6] = <bt_e>(0,3) label="e" gr_attribs=#["class"="def", "w"="16", "bgcolor"="#00eeeeee", "shape"="round", "sw"="3", "border_width"="1", "align"="expand", "fgcolor"="#00000000", "border_color"="#00999999"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
main[4x4]=
 ____________ 
|...   ...   |
|.b.   .b.   |
|...   ...   |
|......   ...|
|.b..b.   .f.|
|......   ...|
|         ...|
|         .g.|
|         ...|
|...         |
|.b.         |
|...         |
 ------------ 
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 0 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(0;0;107;160)
[...] ===================================================== GraphForm::processGRFile("gr/test35.gr")
xxx Graph::buildPathname: newPathname="gr/test35.gr" curPathname=""
xxx Graph::parseGR: pathName="gr/test35.gr"
xxx GRParseContext::initParseContext: lineIdx=0
xxx pushParseContext bIncLineIdx=0 newCtx=<class<GRParseContext>#0x1503e3140((null))> name="gr/test35.gr" lineIdx=0
xxx GRParseContext: beginLine: cur_line="// gradients"
xxx GRParseContext::nextLine: => cur_line_idx=1 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=2 #lines=90
xxx GRParseContext: beginLine: cur_line="style {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["style", "{"])>
xxx parse line "style {" tokens=<StringArray#0x120939fa8(["style", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='style' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginStyleClass: id='default'
xxx parseNextToken: state=ST_STYLE_BEGIN(101:1) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=3 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgtint       = #eee"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["bgtint", "=", "#eee"])>
xxx parse line "  bgtint       = #eee" tokens=<StringArray#0x120939170(["bgtint", "=", "#eee"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='bgtint' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='#eee' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='#eee' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="bgtint" value="#eee"
xxx GRParseContext::nextLine: => cur_line_idx=4 #lines=90
xxx GRParseContext: beginLine: cur_line="  shape        = round"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["shape", "=", "round"])>
xxx parse line "  shape        = round" tokens=<StringArray#0x120939fa8(["shape", "=", "round"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='shape' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='round' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='round' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="shape" value="round"
xxx GRParseContext::nextLine: => cur_line_idx=5 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_width = 1.5"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["border_width", "=", "1", ".", "5"])>
xxx parse line "  border_width = 1.5" tokens=<StringArray#0x120939170(["border_width", "=", "1", ".", "5"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='border_width' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='1' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='1' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:3) cTok='.' nTok='5' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:4) cTok='5' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="border_width" value="1.5"
xxx GRParseContext::nextLine: => cur_line_idx=6 #lines=90
xxx GRParseContext: beginLine: cur_line="  s            = 64,64"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["s", "=", "64,64"])>
xxx parse line "  s            = 64,64" tokens=<StringArray#0x120939fa8(["s", "=", "64,64"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='s' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_ASSIGN(105:1) cTok='=' nTok='64,64' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_STYLE_ATTRIB_VALUE(106:2) cTok='64,64' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRStyle::addStyleAttrib: key="s" value="64;64"
xxx GRParseContext::nextLine: => cur_line_idx=7 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939170(["}"])>
xxx parseNextToken: state=ST_STYLE_BODY(102:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=8 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=9 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient greenblue {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "greenblue", "{"])>
xxx parse line "gradient greenblue {" tokens=<StringArray#0x120939fa8(["gradient", "greenblue", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='greenblue' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='greenblue' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='greenblue'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=10 #lines=90
xxx GRParseContext: beginLine: cur_line="  #6f66ff99"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["#6f66ff99"])>
xxx parse line "  #6f66ff99" tokens=<StringArray#0x120939170(["#6f66ff99"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#6f66ff99' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#6f66ff99' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#6f66ff99
xxx GRParseContext::nextLine: => cur_line_idx=11 #lines=90
xxx GRParseContext: beginLine: cur_line="  #6f6699ff"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#6f6699ff"])>
xxx parse line "  #6f6699ff" tokens=<StringArray#0x120939fa8(["#6f6699ff"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#6f6699ff' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#6f6699ff' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#6f6699ff
xxx GRParseContext::nextLine: => cur_line_idx=12 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939170(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=1
[trc] GRGradient::finish: i=1 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#6f66ff99
[trc]    [1] start=1 color=#6f6699ff
xxx GRParseContext::nextLine: => cur_line_idx=13 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=14 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient greenblue_multi {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "greenblue_multi", "{"])>
xxx parse line "gradient greenblue_multi {" tokens=<StringArray#0x120939fa8(["gradient", "greenblue_multi", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='greenblue_multi' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='greenblue_multi' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='greenblue_multi'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=15 #lines=90
xxx GRParseContext: beginLine: cur_line="         #af2255aa"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["#af2255aa"])>
xxx parse line "         #af2255aa" tokens=<StringArray#0x120939170(["#af2255aa"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#af2255aa' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#af2255aa' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#af2255aa
xxx GRParseContext::nextLine: => cur_line_idx=16 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.05 = #af4477dd"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "05", "=", "#af4477dd"])>
xxx parse line "  0.05 = #af4477dd" tokens=<StringArray#0x120939fa8(["0", ".", "05", "=", "#af4477dd"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='05' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='05' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#af4477dd' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#af4477dd' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.05 c32=#af4477dd
xxx GRParseContext::nextLine: => cur_line_idx=17 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.35 = #af8ace8a"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["0", ".", "35", "=", "#af8ace8a"])>
xxx parse line "  0.35 = #af8ace8a" tokens=<StringArray#0x120939170(["0", ".", "35", "=", "#af8ace8a"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='35' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='35' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#af8ace8a' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#af8ace8a' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.35 c32=#af8ace8a
xxx GRParseContext::nextLine: => cur_line_idx=18 #lines=90
xxx GRParseContext: beginLine: cur_line="         #af4679df"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#af4679df"])>
xxx parse line "         #af4679df" tokens=<StringArray#0x120939fa8(["#af4679df"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#af4679df' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#af4679df' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#af4679df
xxx GRParseContext::nextLine: => cur_line_idx=19 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.85 = #ff408060"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["0", ".", "85", "=", "#ff408060"])>
xxx parse line "  0.85 = #ff408060" tokens=<StringArray#0x120939170(["0", ".", "85", "=", "#ff408060"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='85' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='85' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#ff408060' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#ff408060' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.85 c32=#ff408060
xxx GRParseContext::nextLine: => cur_line_idx=20 #lines=90
xxx GRParseContext: beginLine: cur_line="     //#6f408040"
xxx GRParseContext::nextLine: => cur_line_idx=21 #lines=90
xxx GRParseContext: beginLine: cur_line="         #ff167f39"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#ff167f39"])>
xxx parse line "         #ff167f39" tokens=<StringArray#0x120939fa8(["#ff167f39"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#ff167f39' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#ff167f39' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#ff167f39
xxx GRParseContext::nextLine: => cur_line_idx=22 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939170(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=0.05
[trc] GRGradient::finish: i=1 spanLen=2 start=0.05 spanLastStart=0.35
[trc] GRGradient::finish: i=2 spanLen=3 start=0.35 spanLastStart=0.85
[trc] GRGradient::finish: i=3 spanLen=2 start=0.6 spanLastStart=0.85
[trc] GRGradient::finish: i=4 spanLen=2 start=0.85 spanLastStart=1
[trc] GRGradient::finish: i=5 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#af2255aa
[trc]    [1] start=0.05 color=#af4477dd
[trc]    [2] start=0.35 color=#af8ace8a
[trc]    [3] start=0.6 color=#af4679df
[trc]    [4] start=0.85 color=#ff408060
[trc]    [5] start=1 color=#ff167f39
xxx GRParseContext::nextLine: => cur_line_idx=23 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=24 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient blueyellow {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "blueyellow", "{"])>
xxx parse line "gradient blueyellow {" tokens=<StringArray#0x120939fa8(["gradient", "blueyellow", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='blueyellow' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='blueyellow' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='blueyellow'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=25 #lines=90
xxx GRParseContext: beginLine: cur_line="  #7040a0f0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["#7040a0f0"])>
xxx parse line "  #7040a0f0" tokens=<StringArray#0x120939170(["#7040a0f0"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#7040a0f0' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#7040a0f0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#7040a0f0
xxx GRParseContext::nextLine: => cur_line_idx=26 #lines=90
xxx GRParseContext: beginLine: cur_line="  #70f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#70f0f0a0"])>
xxx parse line "  #70f0f0a0" tokens=<StringArray#0x120939fa8(["#70f0f0a0"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#70f0f0a0' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#70f0f0a0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#70f0f0a0
xxx GRParseContext::nextLine: => cur_line_idx=27 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939170(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=1
[trc] GRGradient::finish: i=1 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#7040a0f0
[trc]    [1] start=1 color=#70f0f0a0
xxx GRParseContext::nextLine: => cur_line_idx=28 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=29 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient blueyellow_multi {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "blueyellow_multi", "{"])>
xxx parse line "gradient blueyellow_multi {" tokens=<StringArray#0x120939fa8(["gradient", "blueyellow_multi", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='blueyellow_multi' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='blueyellow_multi' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='blueyellow_multi'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=30 #lines=90
xxx GRParseContext: beginLine: cur_line="   /*"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["/*"])>
xxx parse line "   /*" tokens=<StringArray#0x120939170(["/*"])>
xxx GRParseContext::nextLine: => cur_line_idx=31 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.0 = #c0f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "0", "=", "#c0f0f0a0"])>
xxx parse line "  0.0 = #c0f0f0a0" tokens=<StringArray#0x120939fa8(["0", ".", "0", "=", "#c0f0f0a0"])>
xxx GRParseContext::nextLine: => cur_line_idx=32 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.1 = #f0f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["0", ".", "1", "=", "#f0f0f0a0"])>
xxx parse line "  0.1 = #f0f0f0a0" tokens=<StringArray#0x120939170(["0", ".", "1", "=", "#f0f0f0a0"])>
xxx GRParseContext::nextLine: => cur_line_idx=33 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.45= #30f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "45", "=", "#30f0f0a0"])>
xxx parse line "  0.45= #30f0f0a0" tokens=<StringArray#0x120939fa8(["0", ".", "45", "=", "#30f0f0a0"])>
xxx GRParseContext::nextLine: => cur_line_idx=34 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.7 = #30f0f0a0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["0", ".", "7", "=", "#30f0f0a0"])>
xxx parse line "  0.7 = #30f0f0a0" tokens=<StringArray#0x120939170(["0", ".", "7", "=", "#30f0f0a0"])>
xxx GRParseContext::nextLine: => cur_line_idx=35 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.8 = #5040a0f0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "8", "=", "#5040a0f0"])>
xxx parse line "  0.8 = #5040a0f0" tokens=<StringArray#0x120939fa8(["0", ".", "8", "=", "#5040a0f0"])>
xxx GRParseContext::nextLine: => cur_line_idx=36 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.9 = #7040a0f0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["0", ".", "9", "=", "#7040a0f0"])>
xxx parse line "  0.9 = #7040a0f0" tokens=<StringArray#0x120939170(["0", ".", "9", "=", "#7040a0f0"])>
xxx GRParseContext::nextLine: => cur_line_idx=37 #lines=90
xxx GRParseContext: beginLine: cur_line="   */"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["*/"])>
xxx parse line "   */" tokens=<StringArray#0x120939fa8(["*/"])>
xxx GRParseContext::nextLine: => cur_line_idx=38 #lines=90
xxx GRParseContext: beginLine: cur_line="  #a0303000"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["#a0303000"])>
xxx parse line "  #a0303000" tokens=<StringArray#0x120939170(["#a0303000"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#a0303000' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#a0303000' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#a0303000
xxx GRParseContext::nextLine: => cur_line_idx=39 #lines=90
xxx GRParseContext: beginLine: cur_line="  #a05080b0"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["#a05080b0"])>
xxx parse line "  #a05080b0" tokens=<StringArray#0x120939fa8(["#a05080b0"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#a05080b0' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#a05080b0' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#a05080b0
xxx GRParseContext::nextLine: => cur_line_idx=40 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939170(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=1
[trc] GRGradient::finish: i=1 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#a0303000
[trc]    [1] start=1 color=#a05080b0
xxx GRParseContext::nextLine: => cur_line_idx=41 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=42 #lines=90
xxx GRParseContext: beginLine: cur_line="gradient darklight {"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["gradient", "darklight", "{"])>
xxx parse line "gradient darklight {" tokens=<StringArray#0x120939fa8(["gradient", "darklight", "{"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='gradient' nTok='darklight' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_ID(500:1) cTok='darklight' nTok='{' prev_node=<null> prev_edge=<null>
[trc] GR::beginGradient: id='darklight'
xxx parseNextToken: state=ST_GRADIENT_BEGIN(501:2) cTok='{' nTok='' prev_node=<null> prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=43 #lines=90
xxx GRParseContext: beginLine: cur_line="  #ffffffff"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["#ffffffff"])>
xxx parse line "  #ffffffff" tokens=<StringArray#0x120939170(["#ffffffff"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#ffffffff' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#ffffffff' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#ffffffff
xxx GRParseContext::nextLine: => cur_line_idx=44 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.4 = #a0ffffff"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "4", "=", "#a0ffffff"])>
xxx parse line "  0.4 = #a0ffffff" tokens=<StringArray#0x120939fa8(["0", ".", "4", "=", "#a0ffffff"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='4' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='4' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#a0ffffff' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#a0ffffff' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.4 c32=#a0ffffff
xxx GRParseContext::nextLine: => cur_line_idx=45 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.6 = #10ffffff"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["0", ".", "6", "=", "#10ffffff"])>
xxx parse line "  0.6 = #10ffffff" tokens=<StringArray#0x120939170(["0", ".", "6", "=", "#10ffffff"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='6' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='6' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#10ffffff' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#10ffffff' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.6 c32=#10ffffff
xxx GRParseContext::nextLine: => cur_line_idx=46 #lines=90
xxx GRParseContext: beginLine: cur_line="  0.7 = #10000000"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["0", ".", "7", "=", "#10000000"])>
xxx parse line "  0.7 = #10000000" tokens=<StringArray#0x120939fa8(["0", ".", "7", "=", "#10000000"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='0' nTok='.' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:1) cTok='.' nTok='7' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:2) cTok='7' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_ASSIGN(503:3) cTok='=' nTok='#10000000' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:4) cTok='#10000000' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0.7 c32=#10000000
xxx GRParseContext::nextLine: => cur_line_idx=47 #lines=90
xxx GRParseContext: beginLine: cur_line="  #50000000"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["#50000000"])>
xxx parse line "  #50000000" tokens=<StringArray#0x120939170(["#50000000"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='#50000000' nTok='' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRADIENT_COLOR_VALUE(504:0) cTok='#50000000' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::addColor: start=0 c32=#50000000
xxx GRParseContext::nextLine: => cur_line_idx=48 #lines=90
xxx GRParseContext: beginLine: cur_line="}"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939fa8(["}"])>
xxx parse line "}" tokens=<StringArray#0x120939fa8(["}"])>
xxx parseNextToken: state=ST_GRADIENT_BODY(502:0) cTok='}' nTok='' prev_node=<null> prev_edge=<null>
[trc] GRGradient::finish: i=0 spanLen=2 start=0 spanLastStart=0.4
[trc] GRGradient::finish: i=1 spanLen=2 start=0.4 spanLastStart=0.6
[trc] GRGradient::finish: i=2 spanLen=2 start=0.6 spanLastStart=0.7
[trc] GRGradient::finish: i=3 spanLen=2 start=0.7 spanLastStart=1
[trc] GRGradient::finish: i=4 spanLen=1 start=1 spanLastStart=1
[trc] GRGradient::finish:
[trc]    [0] start=0 color=#ffffffff
[trc]    [1] start=0.4 color=#a0ffffff
[trc]    [2] start=0.6 color=#10ffffff
[trc]    [3] start=0.7 color=#10000000
[trc]    [4] start=1 color=#50000000
xxx GRParseContext::nextLine: => cur_line_idx=49 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=50 #lines=90
xxx GRParseContext: beginLine: cur_line="layout = fixed"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939170(["layout", "=", "fixed"])>
xxx parse line "layout = fixed" tokens=<StringArray#0x120939170(["layout", "=", "fixed"])>
xxx parseNextToken: state=ST_GLOBAL(0:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
[dbg] parseNextToken: ST_GLOBAL: begin implicit main_graph
[dbg] GR::beginMainGraph: begin main graph 'main'
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='layout' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='fixed' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='fixed' nTok='' prev_node=<null> prev_edge=<null>
[trc] addGraphAttrib: set layout=LAYOUT_FIXED
xxx GRParseContext::nextLine: => cur_line_idx=51 #lines=90
xxx GRParseContext: beginLine: cur_line="row="abc""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x120939a80(["row", "=", "abc"])>
xxx parse line "row="abc"" tokens=<StringArray#0x120939a80(["row", "=", "abc"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='abc' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='abc' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="abc"
xxx addLayoutRow: add implicit node 'a'
xxx addLayoutRow: add implicit node 'b'
xxx addLayoutRow: add implicit node 'c'
xxx GRParseContext::nextLine: => cur_line_idx=52 #lines=90
xxx GRParseContext: beginLine: cur_line="row="def""
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["row", "=", "def"])>
xxx parse line "row="def"" tokens=<StringArray#0x12093a728(["row", "=", "def"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='row' nTok='=' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_ASSIGN(230:1) cTok='=' nTok='def' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_ATTRIB_VALUE(231:2) cTok='def' nTok='' prev_node=<null> prev_edge=<null>
xxx addLayoutRow: s="def"
xxx addLayoutRow: add implicit node 'd'
xxx addLayoutRow: add implicit node 'e'
xxx addLayoutRow: add implicit node 'f'
xxx GRParseContext::nextLine: => cur_line_idx=53 #lines=90
xxx GRParseContext: beginLine: cur_line="a->b->c"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["a", "-", ">", "b", "-", ">", "c"])>
xxx parse line "a->b->c" tokens=<StringArray#0x12093b420(["a", "-", ">", "b", "-", ">", "c"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='b' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='b' nTok='-' prev_node=<a>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='c' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='c' nTok='' prev_node=<b>(?,?) prev_edge=edge<tail<a>(?,?) head<b>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<b>(?,?) head<c>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=54 #lines=90
xxx GRParseContext: beginLine: cur_line="c->d[arrow_snap=80%]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["c", "-", ">", "d", "[", "arrow_snap", "=", "80%", "]"])>
xxx parse line "c->d[arrow_snap=80%]" tokens=<StringArray#0x12093a728(["c", "-", ">", "d", "[", "arrow_snap", "=", "80%", "]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='c' nTok='-' prev_node=<c>(?,?) prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='-' prev_node=<null> prev_edge=edge<tail<b>(?,?) head<c>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='d' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='d' nTok='[' prev_node=<c>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='[' nTok='arrow_snap' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:5) cTok='arrow_snap' nTok='=' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_ASSIGN(271:6) cTok='=' nTok='80%' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIB_VALUE(272:7) cTok='80%' nTok=']' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
[trc] Edge::addEdgeAttrib: key="arrow_snap" value="80%"
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_ATTRIBS(270:8) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=edge<tail<c>(?,?) head<d>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=55 #lines=90
xxx GRParseContext: beginLine: cur_line="d->e->f"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["d", "-", ">", "e", "-", ">", "f"])>
xxx parse line "d->e->f" tokens=<StringArray#0x12093b420(["d", "-", ">", "e", "-", ">", "f"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='-' prev_node=<null> prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='-' nTok='>' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:2) cTok='>' nTok='e' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:3) cTok='e' nTok='-' prev_node=<d>(?,?) prev_edge=<null>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:4) cTok='-' nTok='>' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_DIR(205:5) cTok='>' nTok='f' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE_HEAD(207:6) cTok='f' nTok='' prev_node=<e>(?,?) prev_edge=edge<tail<d>(?,?) head<e>(?,?)>
[trc] Edge::addEdgeAttrib: key="style" value="normal"
[dbg] parseNextToken: addEdge edge<tail<e>(?,?) head<f>(?,?)>
xxx GRParseContext::nextLine: => cur_line_idx=56 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=57 #lines=90
xxx GRParseContext: beginLine: cur_line="a[    bg_gradient=greenblue             bg_gradient_shape=v"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["a", "[", "bg_gradient", "=", "greenblue", "bg_gradient_shape", "=", "v"])>
xxx parse line "a[    bg_gradient=greenblue             bg_gradient_shape=v" tokens=<StringArray#0x12093a728(["a", "[", "bg_gradient", "=", "greenblue", "bg_gradient_shape", "=", "v"])>
xxx parseNextToken: state=ST_GRAPH_BODY_EDGE(204:0) cTok='a' nTok='[' prev_node=<f>(?,?) prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='a' nTok='[' prev_node=<null> prev_edge=edge<tail<e>(?,?) head<f>(?,?)>
[trc] parseNextToken: ST_GRAPH_BODY: node 'a' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<a>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<a>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='greenblue' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='greenblue' nTok='bg_gradient_shape' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="greenblue"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='v' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='v' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="v"
xxx GRParseContext::nextLine: => cur_line_idx=58 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_gradient=greenblue_multi   border_gradient_shape=v"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["border_gradient", "=", "greenblue_multi", "border_gradient_shape", "=", "v"])>
xxx parse line "  border_gradient=greenblue_multi   border_gradient_shape=v" tokens=<StringArray#0x12093b420(["border_gradient", "=", "greenblue_multi", "border_gradient_shape", "=", "v"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_gradient' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='greenblue_multi' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='greenblue_multi' nTok='border_gradient_shape' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_gradient" value="greenblue_multi"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_gradient_shape' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='v' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='v' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_gradient_shape" value="v"
xxx GRParseContext::nextLine: => cur_line_idx=59 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#aaa"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["border_color", "=", "#aaa"])>
xxx parse line "  border_color=#aaa" tokens=<StringArray#0x12093a728(["border_color", "=", "#aaa"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#aaa' prev_node=<a>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#aaa' nTok='' prev_node=<a>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#aaa"
xxx GRParseContext::nextLine: => cur_line_idx=60 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093b420(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<a>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=61 #lines=90
xxx GRParseContext: beginLine: cur_line="b[    bg_gradient=blueyellow            bg_gradient_shape=h"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["b", "[", "bg_gradient", "=", "blueyellow", "bg_gradient_shape", "=", "h"])>
xxx parse line "b[    bg_gradient=blueyellow            bg_gradient_shape=h" tokens=<StringArray#0x12093a728(["b", "[", "bg_gradient", "=", "blueyellow", "bg_gradient_shape", "=", "h"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='b' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'b' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<b>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<b>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='blueyellow' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='blueyellow' nTok='bg_gradient_shape' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="blueyellow"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='h' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='h' nTok='' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="h"
xxx GRParseContext::nextLine: => cur_line_idx=62 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_gradient=blueyellow_multi  border_gradient_shape=h"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["border_gradient", "=", "blueyellow_multi", "border_gradient_shape", "=", "h"])>
xxx parse line "  border_gradient=blueyellow_multi  border_gradient_shape=h" tokens=<StringArray#0x12093b420(["border_gradient", "=", "blueyellow_multi", "border_gradient_shape", "=", "h"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_gradient' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='blueyellow_multi' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='blueyellow_multi' nTok='border_gradient_shape' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_gradient" value="blueyellow_multi"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_gradient_shape' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='h' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='h' nTok='' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_gradient_shape" value="h"
xxx GRParseContext::nextLine: => cur_line_idx=63 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#666"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["border_color", "=", "#666"])>
xxx parse line "  border_color=#666" tokens=<StringArray#0x12093a728(["border_color", "=", "#666"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#666' prev_node=<b>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#666' nTok='' prev_node=<b>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#666"
xxx GRParseContext::nextLine: => cur_line_idx=64 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093b420(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<b>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=65 #lines=90
xxx GRParseContext: beginLine: cur_line="c[    bg_gradient=darklight             bg_gradient_shape=r"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["c", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "r"])>
xxx parse line "c[    bg_gradient=darklight             bg_gradient_shape=r" tokens=<StringArray#0x12093a728(["c", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "r"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='c' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'c' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<c>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<c>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='darklight' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='darklight' nTok='bg_gradient_shape' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="darklight"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='r' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='r' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="r"
xxx GRParseContext::nextLine: => cur_line_idx=66 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#000"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["border_color", "=", "#000"])>
xxx parse line "  border_color=#000" tokens=<StringArray#0x12093b420(["border_color", "=", "#000"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#000' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#000' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#000"
xxx GRParseContext::nextLine: => cur_line_idx=67 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgcolor=#eec"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["bgcolor", "=", "#eec"])>
xxx parse line "  bgcolor=#eec" tokens=<StringArray#0x12093a728(["bgcolor", "=", "#eec"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bgcolor' nTok='=' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#eec' prev_node=<c>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#eec' nTok='' prev_node=<c>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#eec"
xxx GRParseContext::nextLine: => cur_line_idx=68 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093b420(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<c>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=69 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=70 #lines=90
xxx GRParseContext: beginLine: cur_line="d[    bg_gradient=darklight             bg_gradient_shape=h"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["d", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "h"])>
xxx parse line "d[    bg_gradient=darklight             bg_gradient_shape=h" tokens=<StringArray#0x12093a728(["d", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "h"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='d' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'd' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<d>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<d>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='darklight' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='darklight' nTok='bg_gradient_shape' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="darklight"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='h' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='h' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="h"
xxx GRParseContext::nextLine: => cur_line_idx=71 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#888"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["border_color", "=", "#888"])>
xxx parse line "  border_color=#888" tokens=<StringArray#0x12093b420(["border_color", "=", "#888"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#888' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#888' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#888"
xxx GRParseContext::nextLine: => cur_line_idx=72 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgcolor=#eec"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["bgcolor", "=", "#eec"])>
xxx parse line "  bgcolor=#eec" tokens=<StringArray#0x12093a728(["bgcolor", "=", "#eec"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bgcolor' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#eec' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#eec' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#eec"
xxx GRParseContext::nextLine: => cur_line_idx=73 #lines=90
xxx GRParseContext: beginLine: cur_line="  bg_pattern=lines_4      bg_pattern_intensity=0.2"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parse line "  bg_pattern=lines_4      bg_pattern_intensity=0.2" tokens=<StringArray#0x12093b420(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bg_pattern' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='lines_4' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='lines_4' nTok='bg_pattern_intensity' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="lines_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='bg_pattern_intensity' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='2' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='2' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="0.2"
xxx GRParseContext::nextLine: => cur_line_idx=74 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_pattern=checker_1  border_pattern_intensity=0.9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parse line "  border_pattern=checker_1  border_pattern_intensity=0.9" tokens=<StringArray#0x12093a728(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_pattern' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='checker_1' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='checker_1' nTok='border_pattern_intensity' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern" value="checker_1"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_pattern_intensity' nTok='=' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='9' prev_node=<d>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='9' nTok='' prev_node=<d>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern_intensity" value="0.9"
xxx GRParseContext::nextLine: => cur_line_idx=75 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093b420(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<d>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=76 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=77 #lines=90
xxx GRParseContext: beginLine: cur_line="e[    bg_gradient=darklight             bg_gradient_shape=v"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["e", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "v"])>
xxx parse line "e[    bg_gradient=darklight             bg_gradient_shape=v" tokens=<StringArray#0x12093a728(["e", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "v"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='e' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'e' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<e>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<e>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='darklight' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='darklight' nTok='bg_gradient_shape' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="darklight"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='v' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='v' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="v"
xxx GRParseContext::nextLine: => cur_line_idx=78 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#888"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["border_color", "=", "#888"])>
xxx parse line "  border_color=#888" tokens=<StringArray#0x12093b420(["border_color", "=", "#888"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#888' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#888' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#888"
xxx GRParseContext::nextLine: => cur_line_idx=79 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgcolor=#eec"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["bgcolor", "=", "#eec"])>
xxx parse line "  bgcolor=#eec" tokens=<StringArray#0x12093a728(["bgcolor", "=", "#eec"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bgcolor' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#eec' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#eec' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#eec"
xxx GRParseContext::nextLine: => cur_line_idx=80 #lines=90
xxx GRParseContext: beginLine: cur_line="  bg_pattern=lines_4      bg_pattern_intensity=0.2"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parse line "  bg_pattern=lines_4      bg_pattern_intensity=0.2" tokens=<StringArray#0x12093b420(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bg_pattern' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='lines_4' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='lines_4' nTok='bg_pattern_intensity' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="lines_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='bg_pattern_intensity' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='2' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='2' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="0.2"
xxx GRParseContext::nextLine: => cur_line_idx=81 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_pattern=checker_1  border_pattern_intensity=0.9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parse line "  border_pattern=checker_1  border_pattern_intensity=0.9" tokens=<StringArray#0x12093a728(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_pattern' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='checker_1' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='checker_1' nTok='border_pattern_intensity' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern" value="checker_1"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_pattern_intensity' nTok='=' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='9' prev_node=<e>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='9' nTok='' prev_node=<e>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern_intensity" value="0.9"
xxx GRParseContext::nextLine: => cur_line_idx=82 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093b420(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<e>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=83 #lines=90
xxx GRParseContext: beginLine: cur_line=""
xxx GRParseContext::nextLine: => cur_line_idx=84 #lines=90
xxx GRParseContext: beginLine: cur_line="f[    bg_gradient=darklight             bg_gradient_shape=r"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["f", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "r"])>
xxx parse line "f[    bg_gradient=darklight             bg_gradient_shape=r" tokens=<StringArray#0x12093a728(["f", "[", "bg_gradient", "=", "darklight", "bg_gradient_shape", "=", "r"])>
xxx parseNextToken: state=ST_GRAPH_BODY(202:0) cTok='f' nTok='[' prev_node=<null> prev_edge=<null>
[trc] parseNextToken: ST_GRAPH_BODY: node 'f' already exists (skipping)
xxx parseNextToken: state=ST_GRAPH_BODY(202:1) cTok='[' nTok='bg_gradient' prev_node=<f>(?,?) prev_edge=<null>
[dbg] parseNextToken: ST_GRAPH_BODY: begin prev_node=<f>(?,?) attribs
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:2) cTok='bg_gradient' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:3) cTok='=' nTok='darklight' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:4) cTok='darklight' nTok='bg_gradient_shape' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient" value="darklight"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:5) cTok='bg_gradient_shape' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:6) cTok='=' nTok='r' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='r' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_gradient_shape" value="r"
xxx GRParseContext::nextLine: => cur_line_idx=85 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_color=#888"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["border_color", "=", "#888"])>
xxx parse line "  border_color=#888" tokens=<StringArray#0x12093b420(["border_color", "=", "#888"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_color' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#888' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#888' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_color" value="#888"
xxx GRParseContext::nextLine: => cur_line_idx=86 #lines=90
xxx GRParseContext: beginLine: cur_line="  bgcolor=#eec"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["bgcolor", "=", "#eec"])>
xxx parse line "  bgcolor=#eec" tokens=<StringArray#0x12093a728(["bgcolor", "=", "#eec"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bgcolor' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='#eec' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='#eec' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bgcolor" value="#eec"
xxx GRParseContext::nextLine: => cur_line_idx=87 #lines=90
xxx GRParseContext: beginLine: cur_line="  bg_pattern=lines_4      bg_pattern_intensity=0.2"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parse line "  bg_pattern=lines_4      bg_pattern_intensity=0.2" tokens=<StringArray#0x12093b420(["bg_pattern", "=", "lines_4", "bg_pattern_intensity", "=", "0", ".", "2"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='bg_pattern' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='lines_4' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='lines_4' nTok='bg_pattern_intensity' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern" value="lines_4"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='bg_pattern_intensity' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='2' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='2' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="bg_pattern_intensity" value="0.2"
xxx GRParseContext::nextLine: => cur_line_idx=88 #lines=90
xxx GRParseContext: beginLine: cur_line="  border_pattern=checker_1  border_pattern_intensity=0.9"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093a728(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parse line "  border_pattern=checker_1  border_pattern_intensity=0.9" tokens=<StringArray#0x12093a728(["border_pattern", "=", "checker_1", "border_pattern_intensity", "=", "0", ".", "9"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok='border_pattern' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:1) cTok='=' nTok='checker_1' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:2) cTok='checker_1' nTok='border_pattern_intensity' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern" value="checker_1"
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:3) cTok='border_pattern_intensity' nTok='=' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_ASSIGN(281:4) cTok='=' nTok='0' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:5) cTok='0' nTok='.' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:6) cTok='.' nTok='9' prev_node=<f>(?,?) prev_edge=<null>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIB_VALUE(282:7) cTok='9' nTok='' prev_node=<f>(?,?) prev_edge=<null>
[trc] Node::addNodeAttrib: key="border_pattern_intensity" value="0.9"
xxx GRParseContext::nextLine: => cur_line_idx=89 #lines=90
xxx GRParseContext: beginLine: cur_line="  ]"
xxx GRParseContext::beginLine: cur_words=<StringArray#0x12093b420(["]"])>
xxx parse line "  ]" tokens=<StringArray#0x12093b420(["]"])>
xxx parseNextToken: state=ST_GRAPH_BODY_NODE_ATTRIBS(280:0) cTok=']' nTok='' prev_node=<f>(?,?) prev_edge=<null>
xxx GRParseContext::nextLine: => cur_line_idx=90 #lines=90
xxx popParseContext cur=<class<GRParseContext>#0x1503e3140((null))> line_idx=90 parse_context_stack=<PointerArray#0x120939328([<@0x1503e3140>])> num=1
xxx       restore cur_parse_context=<null>
[pro] GraphForm::endXFMTag: gr.parseGR() took 26 ms
[dbg] Graph::layout: graph.id="main" layout=1:
[trc] Graph::findSpansFromLayoutRows: graph.id="main" gridW=3 gridH=2
[>>>] findSpansFromLayoutRows: grid=(0,0) sCell="a"
[>>>] findSpansFromLayoutRows: grid=(1,0) sCell="b"
[>>>] findSpansFromLayoutRows: grid=(2,0) sCell="c"
[>>>] findSpansFromLayoutRows: grid=(0,1) sCell="d"
[>>>] findSpansFromLayoutRows: grid=(1,1) sCell="e"
[>>>] findSpansFromLayoutRows: grid=(2,1) sCell="f"
xxx layoutFixedPlaceRowNodes: aRow=["a", "b", "c"]
xxx layoutFixedPlaceRowNodes: sId="a"
[trc] setCell(64;64)=a
xxx layoutFixedPlaceRowNodes: sId="b"
[trc] setCell(65;64)=b
xxx layoutFixedPlaceRowNodes: sId="c"
[trc] setCell(66;64)=c
xxx layoutFixedPlaceRowNodes: aRow=["d", "e", "f"]
xxx layoutFixedPlaceRowNodes: sId="d"
[trc] setCell(64;65)=d
xxx layoutFixedPlaceRowNodes: sId="e"
[trc] setCell(65;65)=e
xxx layoutFixedPlaceRowNodes: sId="f"
[trc] setCell(66;65)=f
[dbg] Graph::trimToBoundingBox: bb=(64;64;66;65) sz=(3x2)
[trc] debugPrintNodes: n[0] = <a>(0,0) label="a" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "bg_gradient_shape"="v", "shape"="round", "border_width"="1.5", "border_gradient_shape"="v", "border_gradient"="greenblue_multi", "border_color"="#00aaaaaa", "bg_gradient"="greenblue", "h"="64"]
[trc] debugPrintNodes: n[1] = <b>(1,0) label="b" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "bg_gradient_shape"="h", "shape"="round", "border_width"="1.5", "border_gradient_shape"="h", "border_gradient"="blueyellow_multi", "border_color"="#00666666", "bg_gradient"="blueyellow", "h"="64"]
[trc] debugPrintNodes: n[2] = <c>(2,0) label="c" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "bg_gradient_shape"="r", "bgcolor"="#00eeeecc", "shape"="round", "border_width"="1.5", "border_color"="#00000000", "bg_gradient"="darklight", "h"="64"]
[trc] debugPrintNodes: n[3] = <d>(0,1) label="d" gr_attribs=#["bg_pattern"="lines_4", "class"="default", "border_pattern_intensity"="0.9", "bgtint"="#00eeeeee", "w"="64", "bg_pattern_intensity"="0.2", "bg_gradient_shape"="h", "bgcolor"="#00eeeecc", "border_pattern"="checker_1", "shape"="round", "border_width"="1.5", "border_color"="#00888888", "bg_gradient"="darklight", "h"="64"]
[trc] debugPrintNodes: n[4] = <e>(1,1) label="e" gr_attribs=#["bg_pattern"="lines_4", "class"="default", "border_pattern_intensity"="0.9", "bgtint"="#00eeeeee", "w"="64", "bg_pattern_intensity"="0.2", "bg_gradient_shape"="v", "bgcolor"="#00eeeecc", "border_pattern"="checker_1", "shape"="round", "border_width"="1.5", "border_color"="#00888888", "bg_gradient"="darklight", "h"="64"]
[trc] debugPrintNodes: n[5] = <f>(2,1) label="f" gr_attribs=#["bg_pattern"="lines_4", "class"="default", "border_pattern_intensity"="0.9", "bgtint"="#00eeeeee", "w"="64", "bg_pattern_intensity"="0.2", "bg_gradient_shape"="r", "bgcolor"="#00eeeecc", "border_pattern"="checker_1", "shape"="round", "border_width"="1.5", "border_color"="#00888888", "bg_gradient"="darklight", "h"="64"]
[trc] debugPrintEdges: e[0] = edge<tail<a>(0,0) head<b>(1,0)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "h"="64"]
[trc] debugPrintEdges: e[1] = edge<tail<b>(1,0) head<c>(2,0)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "h"="64"]
[trc] debugPrintEdges: e[2] = edge<tail<c>(2,0) head<d>(0,1)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "arrow_snap"="80%", "h"="64"]
[trc] debugPrintEdges: e[3] = edge<tail<d>(0,1) head<e>(1,1)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "h"="64"]
[trc] debugPrintEdges: e[4] = edge<tail<e>(1,1) head<f>(2,1)> label="" gr_attribs=#["class"="default", "bgtint"="#00eeeeee", "w"="64", "shape"="round", "style"="normal", "border_width"="1.5", "h"="64"]
[pro] GraphForm::endXFMTag: graph.layout() took 2 ms
[trc] draw edge: tail<<a>(0,0) => head<b>(1,0) style=normal
[trc] draw edge: tail<<b>(1,0) => head<c>(2,0) style=normal
[trc] draw edge: tail<<c>(2,0) => head<d>(0,1) style=normal
[trc] draw edge: tail<<d>(0,1) => head<e>(1,1) style=normal
[trc] draw edge: tail<<e>(1,1) => head<f>(2,1) style=normal
main[3x2]=
 _________ 
|.........|
|.a>>b>>c.|
|.......v.|
|.v.......|
|.d>>e>>f.|
|.........|
 --------- 
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#ffffffff
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.025641 c32=#f8ffffff
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.0512821 c32=#f2ffffff
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.0769231 c32=#ecffffff
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.102564 c32=#e6ffffff
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.128205 c32=#e0ffffff
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.153846 c32=#daffffff
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.179487 c32=#d4ffffff
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.205128 c32=#ceffffff
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.230769 c32=#c8ffffff
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.25641 c32=#c2ffffff
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.282051 c32=#bcffffff
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.307692 c32=#b5ffffff
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.333333 c32=#afffffff
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.358974 c32=#a9ffffff
[>>>] GRGradient::getOrCreateTexture: x=15 p=0.384615 c32=#a3ffffff
[>>>] GRGradient::getOrCreateTexture: x=16 p=0.410256 c32=#98ffffff
[>>>] GRGradient::getOrCreateTexture: x=17 p=0.435897 c32=#86ffffff
[>>>] GRGradient::getOrCreateTexture: x=18 p=0.461538 c32=#73ffffff
[>>>] GRGradient::getOrCreateTexture: x=19 p=0.487179 c32=#61ffffff
[>>>] GRGradient::getOrCreateTexture: x=20 p=0.512821 c32=#4effffff
[>>>] GRGradient::getOrCreateTexture: x=21 p=0.538462 c32=#3cffffff
[>>>] GRGradient::getOrCreateTexture: x=22 p=0.564103 c32=#29ffffff
[>>>] GRGradient::getOrCreateTexture: x=23 p=0.589744 c32=#17ffffff
[>>>] GRGradient::getOrCreateTexture: x=24 p=0.615385 c32=#10d7d7d7
[>>>] GRGradient::getOrCreateTexture: x=25 p=0.641026 c32=#10969696
[>>>] GRGradient::getOrCreateTexture: x=26 p=0.666667 c32=#10545454
[>>>] GRGradient::getOrCreateTexture: x=27 p=0.692308 c32=#10131313
[>>>] GRGradient::getOrCreateTexture: x=28 p=0.717949 c32=#13000000
[>>>] GRGradient::getOrCreateTexture: x=29 p=0.74359 c32=#19000000
[>>>] GRGradient::getOrCreateTexture: x=30 p=0.769231 c32=#1e000000
[>>>] GRGradient::getOrCreateTexture: x=31 p=0.794872 c32=#24000000
[>>>] GRGradient::getOrCreateTexture: x=32 p=0.820513 c32=#29000000
[>>>] GRGradient::getOrCreateTexture: x=33 p=0.846154 c32=#2f000000
[>>>] GRGradient::getOrCreateTexture: x=34 p=0.871795 c32=#34000000
[>>>] GRGradient::getOrCreateTexture: x=35 p=0.897436 c32=#3a000000
[>>>] GRGradient::getOrCreateTexture: x=36 p=0.923077 c32=#3f000000
[>>>] GRGradient::getOrCreateTexture: x=37 p=0.948718 c32=#45000000
[>>>] GRGradient::getOrCreateTexture: x=38 p=0.974359 c32=#4a000000
[>>>] GRGradient::getOrCreateTexture: x=39 p=1 c32=#50000000
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#af2255aa
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.0212766 c32=#af3063bf
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.0425532 c32=#af3e71d5
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.0638298 c32=#af477bd9
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.0851064 c32=#af4c81d3
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.106383 c32=#af5187cd
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.12766 c32=#af568dc7
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.148936 c32=#af5b93c1
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.170213 c32=#af6099bb
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.191489 c32=#af65a0b5
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.212766 c32=#af69a6af
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.234043 c32=#af6eacaa
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.255319 c32=#af73b2a4
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.276596 c32=#af78b89e
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.297872 c32=#af7dbe98
[>>>] GRGradient::getOrCreateTexture: x=15 p=0.319149 c32=#af82c592
[>>>] GRGradient::getOrCreateTexture: x=16 p=0.340426 c32=#af87cb8c
[>>>] GRGradient::getOrCreateTexture: x=17 p=0.361702 c32=#af86ca8d
[>>>] GRGradient::getOrCreateTexture: x=18 p=0.382979 c32=#af81c295
[>>>] GRGradient::getOrCreateTexture: x=19 p=0.404255 c32=#af7bbb9c
[>>>] GRGradient::getOrCreateTexture: x=20 p=0.425532 c32=#af75b4a3
[>>>] GRGradient::getOrCreateTexture: x=21 p=0.446808 c32=#af6fadaa
[>>>] GRGradient::getOrCreateTexture: x=22 p=0.468085 c32=#af69a5b2
[>>>] GRGradient::getOrCreateTexture: x=23 p=0.489362 c32=#af649eb9
[>>>] GRGradient::getOrCreateTexture: x=24 p=0.510638 c32=#af5e97c0
[>>>] GRGradient::getOrCreateTexture: x=25 p=0.531915 c32=#af5890c7
[>>>] GRGradient::getOrCreateTexture: x=26 p=0.553191 c32=#af5288cf
[>>>] GRGradient::getOrCreateTexture: x=27 p=0.574468 c32=#af4c81d6
[>>>] GRGradient::getOrCreateTexture: x=28 p=0.595745 c32=#af477add
[>>>] GRGradient::getOrCreateTexture: x=29 p=0.617021 c32=#b44579d6
[>>>] GRGradient::getOrCreateTexture: x=30 p=0.638298 c32=#bb457acb
[>>>] GRGradient::getOrCreateTexture: x=31 p=0.659574 c32=#c2447ac0
[>>>] GRGradient::getOrCreateTexture: x=32 p=0.680851 c32=#c8447bb5
[>>>] GRGradient::getOrCreateTexture: x=33 p=0.702128 c32=#cf437bab
[>>>] GRGradient::getOrCreateTexture: x=34 p=0.723404 c32=#d6437ca0
[>>>] GRGradient::getOrCreateTexture: x=35 p=0.744681 c32=#dd427d95
[>>>] GRGradient::getOrCreateTexture: x=36 p=0.765957 c32=#e4427d8a
[>>>] GRGradient::getOrCreateTexture: x=37 p=0.787234 c32=#ea417e7f
[>>>] GRGradient::getOrCreateTexture: x=38 p=0.808511 c32=#f1407e75
[>>>] GRGradient::getOrCreateTexture: x=39 p=0.829787 c32=#f8407f6a
[>>>] GRGradient::getOrCreateTexture: x=40 p=0.851064 c32=#ff3f7f5f
[>>>] GRGradient::getOrCreateTexture: x=41 p=0.87234 c32=#ff397f5a
[>>>] GRGradient::getOrCreateTexture: x=42 p=0.893617 c32=#ff337f54
[>>>] GRGradient::getOrCreateTexture: x=43 p=0.914894 c32=#ff2d7f4f
[>>>] GRGradient::getOrCreateTexture: x=44 p=0.93617 c32=#ff277f49
[>>>] GRGradient::getOrCreateTexture: x=45 p=0.957447 c32=#ff217f44
[>>>] GRGradient::getOrCreateTexture: x=46 p=0.978723 c32=#ff1b7f3e
[>>>] GRGradient::getOrCreateTexture: x=47 p=1 c32=#ff167f39
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#6f66ff99
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.0666667 c32=#6f66f89f
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.133333 c32=#6f66f1a6
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.2 c32=#6f66eaad
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.266667 c32=#6f66e3b4
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.333333 c32=#6f66ddbb
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.4 c32=#6f66d6c1
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.466667 c32=#6f66cfc8
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.533333 c32=#6f66c8cf
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.6 c32=#6f66c1d6
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.666667 c32=#6f66bbdd
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.733333 c32=#6f66b4e3
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.8 c32=#6f66adea
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.866667 c32=#6f66a6f1
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.933333 c32=#6f669ff8
[>>>] GRGradient::getOrCreateTexture: x=15 p=1 c32=#6f6699ff
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#a0303000
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.0666667 c32=#a032350b
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.133333 c32=#a0343a17
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.2 c32=#a0364023
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.266667 c32=#a038452e
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.333333 c32=#a03a4a3a
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.4 c32=#a03c5046
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.466667 c32=#a03e5552
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.533333 c32=#a0415a5d
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.6 c32=#a0436069
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.666667 c32=#a0456575
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.733333 c32=#a0476a81
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.8 c32=#a049708c
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.866667 c32=#a04b7598
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.933333 c32=#a04d7aa4
[>>>] GRGradient::getOrCreateTexture: x=15 p=1 c32=#a05080b0
[>>>] GRGradient::getOrCreateTexture: x=0 p=0 c32=#7040a0f0
[>>>] GRGradient::getOrCreateTexture: x=1 p=0.0666667 c32=#704ba5ea
[>>>] GRGradient::getOrCreateTexture: x=2 p=0.133333 c32=#7057aae5
[>>>] GRGradient::getOrCreateTexture: x=3 p=0.2 c32=#7063b0e0
[>>>] GRGradient::getOrCreateTexture: x=4 p=0.266667 c32=#706eb5da
[>>>] GRGradient::getOrCreateTexture: x=5 p=0.333333 c32=#707abad5
[>>>] GRGradient::getOrCreateTexture: x=6 p=0.4 c32=#7086c0d0
[>>>] GRGradient::getOrCreateTexture: x=7 p=0.466667 c32=#7092c5ca
[>>>] GRGradient::getOrCreateTexture: x=8 p=0.533333 c32=#709dcac5
[>>>] GRGradient::getOrCreateTexture: x=9 p=0.6 c32=#70a9d0c0
[>>>] GRGradient::getOrCreateTexture: x=10 p=0.666667 c32=#70b5d5ba
[>>>] GRGradient::getOrCreateTexture: x=11 p=0.733333 c32=#70c1dab5
[>>>] GRGradient::getOrCreateTexture: x=12 p=0.8 c32=#70cce0b0
[>>>] GRGradient::getOrCreateTexture: x=13 p=0.866667 c32=#70d8e5aa
[>>>] GRGradient::getOrCreateTexture: x=14 p=0.933333 c32=#70e4eaa5
[>>>] GRGradient::getOrCreateTexture: x=15 p=1 c32=#70f0f0a0
[pro] GraphForm::layoutHierarchy: addNodesFromGraph() took 2 ms
[pro] GraphForm::onResize: addEdgesFromGraph() took 0 ms
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<abs> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,2elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,1elem> returned l=<null#0x600001f9d240>
[trc] MyGraphForm::onResizeFormPost: findLayerByPath()<rel,4elem> returned l=<null#0x600001f9d240>
[...] exportSVG: wrote "test_svg.html"
[>>>] RootForm::onDraw: geo=(0;0;1600;1200) graph_form.geo=(0;0;524;312)
[dbg] HAL::closeView (ENTER)  sdl_window=0x60000208d3b0 sdl_glcontext=0x600003cacfa0
[dbg] tksdl::HAL::closeView: SDL_QuitSubSystem(SDL_INIT_VIDEO)
[dbg] tkopengl_hook_close_cbk() called.
[pro] UI Init+Run took 3922779 ms
