ProgramNode(0...382)( [], StatementsNode(0...382)( [IfNode(0...15)( (0...2), TrueNode(3...7)(), StatementsNode(9...10)([IntegerNode(9...10)()]), nil, (12...15) ), IfNode(17...37)( (17...19), TrueNode(20...24)(), StatementsNode(25...26)([IntegerNode(25...26)()]), ElseNode(27...37)( (27...31), StatementsNode(32...33)([IntegerNode(32...33)()]), (34...37) ), (34...37) ), IfNode(39...112)( (39...41), TrueNode(42...46)(), StatementsNode(52...56)([TrueNode(52...56)()]), IfNode(57...112)( (57...62), FalseNode(63...68)(), StatementsNode(74...79)([FalseNode(74...79)()]), IfNode(80...112)( (80...85), NilNode(86...89)(), StatementsNode(95...98)([NilNode(95...98)()]), ElseNode(99...112)( (99...103), StatementsNode(104...108)([SelfNode(104...108)()]), (109...112) ), (109...112) ), (109...112) ), (109...112) ), IfNode(114...123)( (116...118), TrueNode(119...123)(), StatementsNode(114...115)([IntegerNode(114...115)()]), nil, nil ), IfNode(125...138)( (131...133), TrueNode(134...138)(), StatementsNode(125...130)([BreakNode(125...130)(nil, (125...130))]), nil, nil ), IfNode(140...152)( (145...147), TrueNode(148...152)(), StatementsNode(140...144)([NextNode(140...144)(nil, (140...144))]), nil, nil ), IfNode(154...168)( (161...163), TrueNode(164...168)(), StatementsNode(154...160)([ReturnNode(154...160)((154...160), nil)]), nil, nil ), IfNode(170...200)( (170...172), CallNode(173...182)( nil, nil, (173...182), nil, nil, nil, nil, 2, "exit_loop" ), StatementsNode(188...196)( [BreakNode(188...196)( ArgumentsNode(194...196)([IntegerNode(194...196)()]), (188...193) )] ), nil, (197...200) ), IfNode(202...221)( (202...204), CallNode(205...208)( nil, nil, (205...208), nil, nil, nil, nil, 2, "foo" ), StatementsNode(214...217)( [CallNode(214...217)( nil, nil, (214...217), nil, nil, nil, nil, 2, "bar" )] ), nil, (218...221) ), IfNode(223...234)( (230...232), CallNode(233...234)(nil, nil, (233...234), nil, nil, nil, nil, 2, "c"), StatementsNode(223...229)( [IfNode(223...229)( (225...227), CallNode(228...229)( nil, nil, (228...229), nil, nil, nil, nil, 2, "b" ), StatementsNode(223...224)( [CallNode(223...224)( nil, nil, (223...224), nil, nil, nil, nil, 2, "a" )] ), nil, nil )] ), nil, nil ), IfNode(236...259)( (236...238), TrueNode(239...243)(), StatementsNode(246...250)( [CallNode(246...250)( nil, nil, (246...247), nil, ArgumentsNode(248...250)( [KeywordHashNode(248...250)( [AssocNode(248...250)( SymbolNode(248...250)(nil, (248...249), (249...250), "b"), nil, nil )] )] ), nil, nil, 0, "a" )] ), ElseNode(251...259)((251...255), nil, (256...259)), (256...259) ), IfNode(261...293)( (261...263), MatchPredicateNode(264...273)( CallNode(264...268)( nil, nil, (264...268), nil, nil, nil, nil, 2, "type" ), IntegerNode(272...273)(), (269...271) ), nil, IfNode(274...293)( (274...279), MatchPredicateNode(280...289)( CallNode(280...284)( nil, nil, (280...284), nil, nil, nil, nil, 2, "type" ), ConstantReadNode(288...289)(), (285...287) ), nil, nil, (290...293) ), (290...293) ), IfNode(295...382)( (295...297), IntegerNode(298...299)(), StatementsNode(302...321)( [CallNode(302...321)( nil, nil, (302...308), nil, nil, nil, BlockNode(309...321)( [:_], BlockParametersNode(312...315)( ParametersNode(313...314)( [RequiredParameterNode(313...314)(:_)], [], [], nil, [], nil, nil ), [], (312...313), (314...315) ), nil, (309...311), (318...321) ), 0, "lambda" )] ), IfNode(322...382)( (322...327), IntegerNode(328...329)(), StatementsNode(332...351)( [CallNode(332...351)( nil, nil, (332...338), nil, nil, nil, BlockNode(339...351)( [:_], BlockParametersNode(342...345)( ParametersNode(343...344)( [RequiredParameterNode(343...344)(:_)], [], [], nil, [], nil, nil ), [], (342...343), (344...345) ), nil, (339...341), (348...351) ), 0, "lambda" )] ), ElseNode(352...382)( (352...356), StatementsNode(359...378)( [CallNode(359...378)( nil, nil, (359...365), nil, nil, nil, BlockNode(366...378)( [:_], BlockParametersNode(369...372)( ParametersNode(370...371)( [RequiredParameterNode(370...371)(:_)], [], [], nil, [], nil, nil ), [], (369...370), (371...372) ), nil, (366...368), (375...378) ), 0, "lambda" )] ), (379...382) ), (379...382) ), (379...382) )] ) )