CLASS ltcl_test DEFINITION FOR TESTING
  DURATION SHORT
  RISK LEVEL HARMLESS FINAL.

  PUBLIC SECTION.
  PROTECTED SECTION.
  PRIVATE SECTION.
    DATA mo_cut TYPE REF TO ycl_advent2020_day09.
    DATA m_input TYPE string_table.

    METHODS setup.
    METHODS given_the_example.
    METHODS given_the_input.

    METHODS part_one_example FOR TESTING.
    METHODS part_one_input FOR TESTING.

    METHODS part_two_example FOR TESTING.
    METHODS part_two_input FOR TESTING.


ENDCLASS.

CLASS ltcl_test IMPLEMENTATION.

  METHOD setup.
    mo_cut = NEW #( ).
  ENDMETHOD.

  METHOD part_one_example.
    given_the_example( ).
    DATA(act) = mo_cut->solve_part_one( input = m_input preamble_len = 5 )-number.
    cl_abap_unit_assert=>assert_equals( exp = 127 act = act ).
  ENDMETHOD.

  METHOD part_one_input.
    given_the_input( ).
    DATA(act) = mo_cut->solve_part_one( input = m_input preamble_len = 25 )-number.

    cl_abap_unit_assert=>assert_equals( exp = 1212510616 act = act ).
  ENDMETHOD.

  METHOD part_two_example.
    given_the_example( ).
    DATA(act) = mo_cut->solve_part_two( input = m_input preamble_len = 5 ).
    cl_abap_unit_assert=>assert_equals( exp = 62 act = act ).
  ENDMETHOD.

  METHOD part_two_input.
    given_the_input( ).
    DATA(act) = mo_cut->solve_part_two( input = m_input preamble_len = 25 ).
    cl_abap_unit_assert=>assert_equals( exp = 171265123 act = act ).
  ENDMETHOD.

  METHOD given_the_example.
    m_input = VALUE #(
      ( |35| )
      ( |20| )
      ( |15| )
      ( |25| )
      ( |47| )
      ( |40| )
      ( |62| )
      ( |55| )
      ( |65| )
      ( |95| )
      ( |102| )
      ( |117| )
      ( |150| )
      ( |182| )
      ( |127| )
      ( |219| )
      ( |299| )
      ( |277| )
      ( |309| )
      ( |576| )
    ).
  ENDMETHOD.

  METHOD given_the_input.
    m_input = VALUE #(
      ( |3| )
      ( |48| )
      ( |30| )
      ( |21| )
      ( |18| )
      ( |50| )
      ( |9| )
      ( |37| )
      ( |5| )
      ( |31| )
      ( |17| )
      ( |39| )
      ( |14| )
      ( |45| )
      ( |27| )
      ( |23| )
      ( |2| )
      ( |4| )
      ( |19| )
      ( |35| )
      ( |10| )
      ( |32| )
      ( |33| )
      ( |28| )
      ( |7| )
      ( |34| )
      ( |11| )
      ( |6| )
      ( |8| )
      ( |12| )
      ( |54| )
      ( |13| )
      ( |9| )
      ( |15| )
      ( |16| )
      ( |60| )
      ( |64| )
      ( |17| )
      ( |14| )
      ( |18| )
      ( |20| )
      ( |23| )
      ( |24| )
      ( |25| )
      ( |19| )
      ( |21| )
      ( |26| )
      ( |22| )
      ( |27| )
      ( |46| )
      ( |28| )
      ( |29| )
      ( |30| )
      ( |31| )
      ( |32| )
      ( |38| )
      ( |33| )
      ( |37| )
      ( |45| )
      ( |63| )
      ( |34| )
      ( |35| )
      ( |39| )
      ( |51| )
      ( |40| )
      ( |41| )
      ( |43| )
      ( |60| )
      ( |44| )
      ( |47| )
      ( |52| )
      ( |58| )
      ( |62| )
      ( |55| )
      ( |57| )
      ( |59| )
      ( |61| )
      ( |64| )
      ( |100| )
      ( |65| )
      ( |95| )
      ( |73| )
      ( |71| )
      ( |69| )
      ( |103| )
      ( |74| )
      ( |82| )
      ( |83| )
      ( |108| )
      ( |147| )
      ( |160| )
      ( |87| )
      ( |117| )
      ( |91| )
      ( |112| )
      ( |107| )
      ( |176| )
      ( |114| )
      ( |116| )
      ( |148| )
      ( |120| )
      ( |125| )
      ( |133| )
      ( |190| )
      ( |134| )
      ( |152| )
      ( |205| )
      ( |183| )
      ( |156| )
      ( |216| )
      ( |199| )
      ( |202| )
      ( |174| )
      ( |211| )
      ( |219| )
      ( |194| )
      ( |178| )
      ( |198| )
      ( |203| )
      ( |223| )
      ( |221| )
      ( |354| )
      ( |418| )
      ( |236| )
      ( |258| )
      ( |323| )
      ( |259| )
      ( |267| )
      ( |286| )
      ( |469| )
      ( |308| )
      ( |489| )
      ( |330| )
      ( |439| )
      ( |372| )
      ( |368| )
      ( |392| )
      ( |527| )
      ( |401| )
      ( |611| )
      ( |414| )
      ( |521| )
      ( |419| )
      ( |424| )
      ( |444| )
      ( |457| )
      ( |793| )
      ( |494| )
      ( |495| )
      ( |594| )
      ( |609| )
      ( |702| )
      ( |553| )
      ( |722| )
      ( |700| )
      ( |638| )
      ( |698| )
      ( |773| )
      ( |740| )
      ( |895| )
      ( |1130| )
      ( |815| )
      ( |951| )
      ( |833| )
      ( |838| )
      ( |843| )
      ( |868| )
      ( |1535| )
      ( |1239| )
      ( |1282| )
      ( |952| )
      ( |1578| )
      ( |1398| )
      ( |1794| )
      ( |2496| )
      ( |1725| )
      ( |1360| )
      ( |1293| )
      ( |1336| )
      ( |1378| )
      ( |1671| )
      ( |1438| )
      ( |1513| )
      ( |1635| )
      ( |2895| )
      ( |1648| )
      ( |1653| )
      ( |1681| )
      ( |2203| )
      ( |2491| )
      ( |1711| )
      ( |2671| )
      ( |2191| )
      ( |2617| )
      ( |2234| )
      ( |2245| )
      ( |2776| )
      ( |2629| )
      ( |2653| )
      ( |4306| )
      ( |2731| )
      ( |2774| )
      ( |2714| )
      ( |2816| )
      ( |5288| )
      ( |2951| )
      ( |3073| )
      ( |3148| )
      ( |4139| )
      ( |3301| )
      ( |5492| )
      ( |4282| )
      ( |5847| )
      ( |8038| )
      ( |3902| )
      ( |3945| )
      ( |5264| )
      ( |8578| )
      ( |8412| )
      ( |4479| )
      ( |4874| )
      ( |5592| )
      ( |5505| )
      ( |5367| )
      ( |5445| )
      ( |5488| )
      ( |5530| )
      ( |5665| )
      ( |5767| )
      ( |6449| )
      ( |8789| )
      ( |7203| )
      ( |7093| )
      ( |9967| )
      ( |7246| )
      ( |14243| )
      ( |13050| )
      ( |8424| )
      ( |12691| )
      ( |9433| )
      ( |9450| )
      ( |9353| )
      ( |10144| )
      ( |15649| )
      ( |12734| )
      ( |10241| )
      ( |10812| )
      ( |10855| )
      ( |13954| )
      ( |14234| )
      ( |11432| )
      ( |14191| )
      ( |17097| )
      ( |12216| )
      ( |14873| )
      ( |14296| )
      ( |15517| )
      ( |26882| )
      ( |15670| )
      ( |23596| )
      ( |17777| )
      ( |24440| )
      ( |17857| )
      ( |18786| )
      ( |39113| )
      ( |18803| )
      ( |19497| )
      ( |23028| )
      ( |21053| )
      ( |21096| )
      ( |21667| )
      ( |22287| )
      ( |23071| )
      ( |41164| )
      ( |35634| )
      ( |23648| )
      ( |26407| )
      ( |26512| )
      ( |27089| )
      ( |40885| )
      ( |29813| )
      ( |48756| )
      ( |45298| )
      ( |36766| )
      ( |36563| )
      ( |36580| )
      ( |40470| )
      ( |41784| )
      ( |40550| )
      ( |38300| )
      ( |44124| )
      ( |40593| )
      ( |70698| )
      ( |84717| )
      ( |43383| )
      ( |43954| )
      ( |67195| )
      ( |64198| )
      ( |50055| )
      ( |85689| )
      ( |60228| )
      ( |63173| )
      ( |53601| )
      ( |83933| )
      ( |87082| )
      ( |77236| )
      ( |73143| )
      ( |73329| )
      ( |73346| )
      ( |78347| )
      ( |77130| )
      ( |78850| )
      ( |110283| )
      ( |78893| )
      ( |82254| )
      ( |83976| )
      ( |114652| )
      ( |110578| )
      ( |93438| )
      ( |87337| )
      ( |117250| )
      ( |103656| )
      ( |113228| )
      ( |113829| )
      ( |116774| )
      ( |123401| )
      ( |126744| )
      ( |126930| )
      ( |150273| )
      ( |146472| )
      ( |183721| )
      ( |151490| )
      ( |146675| )
      ( |150476| )
      ( |180786| )
      ( |189176| )
      ( |263449| )
      ( |201166| )
      ( |210212| )
      ( |187632| )
      ( |297560| )
      ( |197094| )
      ( |190993| )
      ( |180775| )
      ( |339652| )
      ( |230002| )
      ( |216884| )
      ( |277017| )
      ( |230603| )
      ( |273877| )
      ( |376808| )
      ( |273216| )
      ( |273402| )
      ( |293147| )
      ( |296948| )
      ( |367360| )
      ( |297151| )
      ( |327450| )
      ( |474568| )
      ( |361561| )
      ( |368407| )
      ( |371768| )
      ( |377869| )
      ( |378625| )
      ( |490761| )
      ( |388087| )
      ( |411378| )
      ( |397659| )
      ( |503819| )
      ( |446886| )
      ( |447487| )
      ( |490100| )
      ( |504005| )
      ( |720703| )
      ( |571028| )
      ( |671772| )
      ( |546618| )
      ( |566549| )
      ( |590095| )
      ( |594099| )
      ( |624601| )
      ( |658712| )
      ( |689011| )
      ( |729968| )
      ( |733329| )
      ( |740175| )
      ( |1030480| )
      ( |756494| )
      ( |766712| )
      ( |785746| )
      ( |799465| )
      ( |809037| )
      ( |1135897| )
      ( |894373| )
      ( |936986| )
      ( |1218700| )
      ( |1246594| )
      ( |1050623| )
      ( |1140717| )
      ( |1471237| )
      ( |1113167| )
      ( |1171219| )
      ( |1156644| )
      ( |1313612| )
      ( |2055631| )
      ( |1763809| )
      ( |1347723| )
      ( |1418979| )
      ( |1463297| )
      ( |1523206| )
      ( |2187124| )
      ( |1661085| )
      ( |1542240| )
      ( |1552458| )
      ( |1722732| )
      ( |1703410| )
      ( |2186520| )
      ( |2007540| )
      ( |2679850| )
      ( |2698884| )
      ( |2163790| )
      ( |2893951| )
      ( |2191340| )
      ( |2253884| )
      ( |2269811| )
      ( |2284386| )
      ( |2327863| )
      ( |2470256| )
      ( |2766702| )
      ( |3070455| )
      ( |2811020| )
      ( |2870929| )
      ( |4890224| )
      ( |2986503| )
      ( |3203325| )
      ( |3094698| )
      ( |3213543| )
      ( |3275190| )
      ( |5837157| )
      ( |3426142| )
      ( |3710950| )
      ( |5364207| )
      ( |4335403| )
      ( |5753205| )
      ( |5569813| )
      ( |4355130| )
      ( |5704971| )
      ( |8664511| )
      ( |5198792| )
      ( |8564225| )
      ( |4612249| )
      ( |9131113| )
      ( |5236958| )
      ( |5577722| )
      ( |8450501| )
      ( |12090653| )
      ( |5857432| )
      ( |17695338| )
      ( |17454860| )
      ( |6416868| )
      ( |9003864| )
      ( |8690533| )
      ( |6701332| )
      ( |7137092| )
      ( |7761545| )
      ( |8947652| )
      ( |8967379| )
      ( |9534195| )
      ( |9553922| )
      ( |9592088| )
      ( |26385871| )
      ( |13618977| )
      ( |13687459| )
      ( |12994524| )
      ( |14141947| )
      ( |9849207| )
      ( |10814680| )
      ( |18299708| )
      ( |15449520| )
      ( |18042589| )
      ( |12274300| )
      ( |12558764| )
      ( |17353633| )
      ( |18559467| )
      ( |13118200| )
      ( |26681983| )
      ( |27136471| )
      ( |13838424| )
      ( |14898637| )
      ( |16709197| )
      ( |22548446| )
      ( |40823930| )
      ( |19383402| )
      ( |19146010| )
      ( |19441295| )
      ( |34282039| )
      ( |24747844| )
      ( |32158717| )
      ( |22843731| )
      ( |20663887| )
      ( |55722567| )
      ( |23088980| )
      ( |24833064| )
      ( |26112724| )
      ( |29912397| )
      ( |36794928| )
      ( |25676964| )
      ( |30471833| )
      ( |36386870| )
      ( |26956624| )
      ( |51285507| )
      ( |39552928| )
      ( |28737061| )
      ( |53723334| )
      ( |38529412| )
      ( |58935316| )
      ( |41989741| )
      ( |38587305| )
      ( |39809897| )
      ( |43752867| )
      ( |45411731| )
      ( |43507618| )
      ( |45496951| )
      ( |45932711| )
      ( |47620511| )
      ( |47922044| )
      ( |48765944| )
      ( |50510028| )
      ( |54414025| )
      ( |52633588| )
      ( |55693685| )
      ( |70709491| )
      ( |57428457| )
      ( |67324366| )
      ( |84462123| )
      ( |82094923| )
      ( |83317515| )
      ( |123343079| )
      ( |89610252| )
      ( |85306848| )
      ( |78397202| )
      ( |80577046| )
      ( |85742608| )
      ( |83562764| )
      ( |88919349| )
      ( |128907230| )
      ( |89440329| )
      ( |91429662| )
      ( |94698655| )
      ( |98130539| )
      ( |100555632| )
      ( |143854354| )
      ( |165454905| )
      ( |178707585| )
      ( |108327273| )
      ( |113122142| )
      ( |186724475| )
      ( |299846617| )
      ( |145721568| )
      ( |158974248| )
      ( |160492125| )
      ( |237151230| )
      ( |174917100| )
      ( |326591559| )
      ( |164139810| )
      ( |170017375| )
      ( |166319654| )
      ( |169305372| )
      ( |221449415| )
      ( |178359678| )
      ( |233294683| )
      ( |180869991| )
      ( |329594715| )
      ( |192829194| )
      ( |241984893| )
      ( |208882905| )
      ( |479136123| )
      ( |254048841| )
      ( |387242583| )
      ( |258843710| )
      ( |687089200| )
      ( |339844239| )
      ( |373022715| )
      ( |356969004| )
      ( |319466373| )
      ( |324631935| )
      ( |375202559| )
      ( |330459464| )
      ( |333445182| )
      ( |350175363| )
      ( |335625026| )
      ( |362134566| )
      ( |809595587| )
      ( |373699185| )
      ( |359229669| )
      ( |500336364| )
      ( |510464706| )
      ( |434814087| )
      ( |450867798| )
      ( |462931746| )
      ( |467726615| )
      ( |615812714| )
      ( |584508305| )
      ( |1006555573| )
      ( |692594030| )
      ( |693165558| )
      ( |644098308| )
      ( |658077117| )
      ( |649925837| )
      ( |829931079| )
      ( |694854695| )
      ( |978191321| )
      ( |663904646| )
      ( |1066293215| )
      ( |709405032| )
      ( |697759592| )
      ( |869694375| )
      ( |732928854| )
      ( |1117652452| )
      ( |943737974| )
      ( |1132573679| )
      ( |961332504| )
      ( |885681885| )
      ( |913799544| )
      ( |930658361| )
      ( |1488008196| )
      ( |1200321019| )
      ( |1293913337| )
      ( |1294024145| )
      ( |1302175425| )
      ( |1341857900| )
      ( |1308002954| )
      ( |1313830483| )
      ( |1344780532| )
      ( |1625237150| )
      ( |1358759341| )
      ( |1407164624| )
      ( |1361664238| )
      ( |1827057484| )
      ( |1430688446| )
      ( |1567453967| )
      ( |1212510616| )
      ( |2269335458| )
      ( |1799481429| )
      ( |2086002904| )
      ( |1816340246| )
      ( |1844457905| )
      ( |2126310160| )
      ( |2114120563| )
      ( |3120970821| )
      ( |2412831635| )
      ( |2559080360| )
      ( |2506423953| )
      ( |2506534761| )
      ( |2837853070| )
      ( |2675494721| )
      ( |2520513570| )
      ( |2526341099| )
      ( |2557291148| )
      ( |2571269957| )
      ( |2619675240| )
      ( |2574174854| )
      ( |3615821675| )
      ( |3247028692| )
      ( |3298513520| )
      ( |3326631179| )
      ( |5201835820| )
      ( |3643939334| )
      ( |6203019694| )
      ( |3930460809| )
      ( |3660798151| )
      ( |5900806033| )
      ( |4240430723| )
      ( |5088326356| )
      ( |4919255588| )
      ( |4919366396| )
      ( |5065615121| )
      ( |5012958714| )
      ( |5027048331| )
      ( |6218114188| )
      ( |5094688424| )
      ( |6142162774| )
      ( |5083632247| )
      ( |5818298649| )
      ( |5190945197| )
      ( |5918188760| )
      ( |9534010435| )
      ( |6545542212| )
      ( |8849827205| )
      ( |6625144699| )
      ( |9244819939| )
      ( |8862633971| )
      ( |7304737485| )
      ( |7591258960| )
      ( |12399425909| )
      ( |7901228874| )
      ( |9159686311| )
      ( |9159797119| )
      ( |9838621984| )
      ( |9932214302| )
      ( |9932325110| )
      ( |10040007045| )
      ( |10096590961| )
      ( |10110680578| )
      ( |15352309084| )
      ( |17483058156| )
      ( |13446900259| )
      ( |14216403659| )
      ( |11009243846| )
      ( |21348129133| )
      ( |12463730972| )
      ( |19199804164| )
      ( |13170686911| )
      ( |16557359001| )
      ( |13929882184| )
      ( |14895996445| )
      ( |19768468457| )
      ( |15492487834| )
      ( |24148617961| )
      ( |17060915185| )
      ( |18319483430| )
      ( |20028916071| )
      ( |37519287594| )
      ( |31186751117| )
      ( |19972332155| )
      ( |21049250891| )
      ( |20136598006| )
      ( |41185848897| )
      ( |21119924424| )
      ( |33984872116| )
      ( |23472974818| )
      ( |28939388093| )
      ( |25905240291| )
      ( |24179930757| )
      ( |25634417883| )
      ( |36260719349| )
      ( |51449169778| )
      ( |43501890889| )
      ( |39797384528| )
      ( |28825878629| )
      ( |62810750745| )
      ( |38965462652| )
      ( |39641105795| )
      ( |84687739786| )
      ( |37197513191| )
      ( |38291815585| )
      ( |40001248226| )
      ( |49814348640| )
      ( |75226182001| )
      ( |40108930161| )
      ( |41256522430| )
      ( |43609572824| )
      ( |44592899242| )
      ( |45299855181| )
      ( |62165959640| )
      ( |60440650106| )
      ( |50085171048| )
      ( |64599880535| )
      ( |53005809386| )
      ( |54460296512| )
      ( |65086597978| )
      ( |79906314689| )
      ( |81901388409| )
      ( |66023391820| )
      ( |67117694214| )
      ( |75489328776| )
      ( |76162975843| )
      ( |76838618986| )
      ( |109192779777| )
      ( |142607022990| )
      ( |112251130688| )
      ( |93114739547| )
      ( |119060177047| )
      ( |81365452591| )
      ( |111323247001| )
      ( |95385026229| )
      ( |88202472066| )
      ( |89892754423| )
      ( |185355755620| )
      ( |136361684921| )
      ( |103090980434| )
      ( |104545467560| )
      ( |120483688332| )
      ( |129168785229| )
      ( |119546894490| )
      ( |169953358533| )
      ( |133141086034| )
      ( |141512720596| )
      ( |142862010806| )
      ( |165041091052| )
      ( |151652304619| )
      ( |153001594829| )
      ( |158204071577| )
      ( |271199199109| )
      ( |391682887441| )
      ( |169567924657| )
      ( |171258207014| )
      ( |339521283190| )
      ( |176750478820| )
      ( |270681505825| )
      ( |543335192060| )
      ( |178095226489| )
      ( |192983734857| )
      ( |207636447994| )
      ( |232259765663| )
      ( |222637874924| )
      ( |224092362050| )
      ( |240030582822| )
      ( |248715679719| )
      ( |252687980524| )
      ( |346318403477| )
      ( |274653806630| )
      ( |309856376196| )
      ( |311205666406| )
      ( |321220229276| )
      ( |426306111249| )
      ( |324259801843| )
      ( |584510182826| )
      ( |340826131671| )
      ( |547157731184| )
      ( |543858104200| )
      ( |766495979124| )
      ( |546897676767| )
      ( |354845705309| )
      ( |523369486349| )
      ( |504189401263| )
      ( |402187588539| )
      ( |433014317679| )
      ( |472808041769| )
      ( |859163989456| )
      ( |446730236974| )
      ( |712043964735| )
      ( |527341787154| )
      ( |620972210107| )
      ( |562544356720| )
      ( |598913608473| )
      ( |585859473036| )
      ( |825409630539| )
      ( |666051371715| )
      ( |930495512512| )
      ( |979911994446| )
      ( |679105507152| )
      ( |827653747078| )
      ( |743013720210| )
      ( |757033293848| )
      ( |990588341174| )
      ( |787860022988| )
      ( |801575942283| )
      ( |1507253781600| )
      ( |835201906218| )
      ( |1364120299003| )
      ( |848917825513| )
      ( |1206831683143| )
      ( |919538278743| )
      ( |1514307413370| )
      ( |974072024128| )
      ( |1089886143874| )
      ( |1148313997261| )
      ( |1161457965193| )
      ( |1148403829756| )
      ( |1918491259041| )
      ( |1264964980188| )
      ( |1656639712889| )
      ( |1345156878867| )
      ( |1422119227362| )
      ( |2180903707271| )
      ( |1436138801000| )
      ( |2355677079743| )
      ( |1500047014058| )
      ( |1544893316836| )
      ( |2818097678082| )
      ( |2368289648336| )
      ( |1650493767796| )
      ( |1754740184961| )
      ( |2493470876128| )
      ( |2063958168002| )
      ( |1768456104256| )
      ( |2576177991632| )
      ( |2080996243936| )
      ( |2950446214370| )
      ( |2526024944874| )
      ( |2238289973630| )
      ( |2296717827017| )
      ( |2413368809944| )
      ( |2648450843814| )
      ( |3268503118314| )
      ( |2845203892925| )
      ( |4248211061089| )
      ( |2781295679867| )
      ( |2858258028362| )
      ( |4018783416132| )
      ( |2936185815058| )
      ( |4704641919314| )
      ( |3313349421092| )
      ( |3195387084632| )
      ( |3405233952757| )
      ( |3418949872052| )
      ( |3523196289217| )
      ( |5081805525348| )
      ( |4494365053880| )
      ( |3832414272258| )
      ( |5258572702869| )
      ( |5232903642075| )
      ( |8952852980403| )
      ( |6508736505724| )
      ( |7555290529886| )
      ( |7807714474972| )
      ( |5584636658872| )
      ( |8780023743504| )
      ( |5794443843420| )
      ( |6171607449454| )
      ( |6200245551919| )
      ( |10666442184220| )
      ( |5639553708229| )
      ( |8638137594832| )
      ( |9366994534086| )
      ( |6355135687110| )
      ( |6600621037389| )
      ( |10341150777982| )
      ( |8834940792861| )
      ( |7913314925932| )
      ( |7355610561475| )
      ( |8326779326138| )
      ( |9417050931130| )
      ( |13979321924426| )
      ( |13199408806344| )
      ( |10491476344944| )
      ( |10817540300947| )
      ( |16541396329901| )
      ( |11224190367101| )
      ( |12800866589308| )
      ( |11379080502292| )
      ( |11433997551649| )
      ( |11811161157683| )
      ( |11839799260148| )
      ( |11994689395339| )
      ( |13552868634161| )
      ( |18166296844793| )
      ( |12240174745618| )
      ( |12955756724499| )
      ( |18579800928576| )
      ( |21112723732276| )
      ( |16748255718793| )
      ( |16772661492605| )
      ( |15682389887613| )
      ( |15268925487407| )
      ( |17743830257268| )
      ( |28588054978941| )
      ( |20641241298231| )
      ( |26780188513734| )
      ( |22331275605092| )
      ( |40497572449885| )
      ( |23674172297267| )
      ( |23428686946988| )
      ( |27522189147761| )
      ( |23245158709332| )
      ( |22813078053941| )
      ( |23273796811797| )
      ( |28583822650288| )
      ( |29704012443292| )
      ( |27922564633231| )
      ( |40823997395906| )
      ( |43454319352172| )
      ( |25195931470117| )
      ( |30699586981767| )
      ( |30951315375020| )
      ( |60655327818312| )
      ( |32455051380218| )
      ( |43204579035374| )
      ( |33012755744675| )
      ( |55728848192015| )
      ( |49229296277172| )
      ( |42972516903323| )
      ( |59792944258409| )
      ( |45144353659033| )
      ( |52012509597276| )
      ( |50950876094749| )
      ( |46058236763273| )
      ( |57226201591053| )
      ( |46086874865738| )
      ( |48441090179449| )
      ( |48009009524058| )
      ( |84028576431280| )
      ( |53118496103348| )
      ( |80464060904276| )
      ( |105659992374393| )
      ( |56147246845137| )
      ( |57650982850335| )
      ( |94985026500599| )
      ( |61650902356787| )
      ( |63406366755238| )
      ( |78541926245956| )
      ( |79099630610413| )
      ( |98959885618807| )
      ( |75985272647998| )
      ( |130050506705162| )
      ( |88116870562356| )
      ( |89030753666596| )
      ( |91202590422306| )
      ( |93585443838482| )
    ).
  ENDMETHOD.

ENDCLASS.
