Neural Compiler Technology for a Parallel Architecture

Share Embed


Descrição do Produto

        !#" $% !& '()# *  +,-/.01.02 S-A@G5?:>TU8R7DV?A@CXWY3@G467D5%5%79P 8;e^:=Z1f%Aag5%4?@Bf%M;46FGh@B[ADM\4?C%CNAE?]F/FGQ?5?AIAIHJ:^ik7DjU@B5LA5?79KNMd_`lmM;AOS-P9@B8;_GAAM;5%OFBnP^Q?CNAMRTU5?A8R7D@V?C _`a798;:%_GOQ%bcMd:%F opAtuOfwQ%v)5?f^Md_qS-OQ?4yA)x>rJzD5mz#H\46z*@G{}b#|m79~ FqMsP m€D€D9‚ WY@q7D5%P9HJV%@BFC%hƒA@Gb#7D5mn

L„ …‡†ˆ‰*Š^‹9ˆ F/o15?Q?AQ?A)V%M;_@G‘Y79Œ%5?8œ7DAI5?ŒiJ’6AA@qFB@079ŽŒ%MR465“@B@GAPŒ%_qA7D:%5D@GAFG79__G8;O8;A7U@B8;MRMd_GŒ?_I49FGb”H\M;FB46Ž5?MRb#7m_/ž@BŒ?A08;MRMd:%5ŸOAM;FLlD46A@BMR8;:%546AŒ%@!7Dbc5•FGA4795D8;F-’D’DA46A5?5D@–Mdl?AFI@GMRQ%@B7b˜46FG5%A•b)—™7“Ms5A5mŒ%Œ%F07D7DŽ`@G@B79FqQ?8;Md8;M;OAOV?8œQ#8RŒ%7DA@š@Bx?4DC‡F/’6@GH›7@q@–467DObbFG_ H›b)@–46Abgb)46O@–46nD5mf¤lDo¢A5mQ?FGA}M;46@B5%A79_/V?8N8;_GFG46MR5?V%’L@–OŒ%A@BO4D46’6:%@qAU7Db)H\46_1@27D4D8;AOn#n?O£D8;n#ADC‡b)O46A7mb#5?b)_0V%49Hu5?M;7DO5#79FG7A#_G_G464?5?OA!Ms7@BFGAM;lD_/V?A18;OFœ@B4DFG4?_q_/P9£%A7D5>@2FGO4L4?b#F/Q?b)A V%Ms5m5?FGMdOA7@BOFG4?M;465%5?5?_1AO5?FGAM;Fk46Ž546@q5?P^Af‡FBŽò04679@GOPXQ C 7Db#5?79:¡FGO@BQ?AMRÜ%5?V?’A_G@BF1A_/4?V?5?8;FUAœMd46:%@A5mFBŽFGMw‘^4)AFG@B46_P9Ž1A5?M;F/_QLH›@B@–4?Ab(ÜÛV?F/AQ?_GF¢AœMd5?:%AAFB5mŽFGMw46‘^@GAPX@Bf0_fo1]óQ?A}FG5?46APFBAŽ5!46O@G7DPc5L:%£%nÛA)5%7D@BbcA79Md:=O7£m8d8;nèn•79@B8;468\CXV?_GFq46A_1b)FGA4646P9A@5?5?_U46£D5?nA 49H¤FIQ?AœŒ%@B46OA_q_G46@B_f ôNõ9öœ÷*ökøIö¦ùÞúGû9üöJýþúqÿ0þ´õyö \úGÿRþ J ö BúIü0ûDúqýyö¦ý þ ÷ ö  

DöB÷ äý=þ´õ UûGûD ö  *ûûDú Jþ\öB÷ þ´õ9 ö u ö y þ ›õyö yú \õ*ý  /öBüö äý ›õ IÿRþ"!#$&%(' )

D7h@BM;OlDQ?aðAMd5•FqAQ?7 OM;F/8dA>_GV%A@BF/FADQ?C949ALŽH0OA1MR4?5m£%FGb#AA8;Œ?@BM;OAM;8d46lDA5%A`@!5?M;FqF2AAOFGOFG4Q%A:5?£%4DA1Œ%8;4D@B7DA’m@G8;nî79Al98;8;Œ%7DA85D@BAF2Œ%_GFq@BA4ñ4?5mOFG7AA_G:“b)_G4?V?MR5î@BO_QCNFIŽ1Q?ŽMdM;Aœ_L:%A_/Œ%@0Q?7D49@qŒŽ7DA5?@#’DQ?A049Ž1Žó479HY_)46Œ%:%Œ%7DAA@GlD@G797A8;8;8;FGA46M;8¤46Œ5?—´A8;A-46:%OŒ%46MRbc@B5?AAOO5DAFGŒ?F2M;46FGA5?_25m_49l6HNH\MR@B46:^4?@795%H›F/b)V?7*FIé^AV%495D@BŽF*A å Ž4?@GP^f - .“0Ô /21GÙ 3 Ù5Ò 4Ô Ù /76 F/MsS05mQ?AIFGA`H\A46@G@B@BbcAAŒ%A@BŒ%:%A@BMs_qA7A_GFG5DAA)F/5m7H\FG46FGMR5?M;@G46’)b#5)F/797DQ?F#5?AU:)—´_GOA46_GA)Ob#Q?_GŒ?AA:^M;O8;V?AFqMd@08;4?MR5?Fq5•A’#O~%49Q%fRHY5?zŒ%žš4DCÆ8;7m4D@G7D’m795?9n 8;:>8;A8Y8YA¬Bb#Œ%«)@BŒ?®4D¨8;’?4yCD@Gn•Ž7Db)A`7L_5?b)fpAAV?a•:L8;FGA1MwFqiJQ%4}8;A7*lDQ%lDA7*A8\lDC¤OA`Q?£%7ƒ4D7_q_G_GAM;4DOI5)8;ikM;£?:L:^8d794?F/F/OQ?7*P•Aé^4649£%@BŽA79FG_GM;’6AO:@G797D8NŒ%7m£%Œ%Q?79Œ%_0_G@B7M;46_-_079H™7DO4?5Q @ H™46@_GOQ?A:^V?8;MR5?’—´_GAA_qAOFGM;465=~%fw~Džf :; < =?>A@ >B5C&DFEHG>JIK&L

 œlDA79@BF/FG7*M;Oé^A49_}Ž@–A’6Œ%@G@B7DAŒ%_GQ?A_5mF—´ 46W¤Œ%Ah @G7ãä_/FGžÆM;46@–5?AŒ%_@B—AHJ_GV%A5?5mOF0FG:^M;46795?F/_/7Už:%CÆA7DŒ5?A:>5?:%F/Q?AA 5?OAM;A:%_`’DAMR5 _œ@BFGAAŒ%@Gb)@BA_2_GA495mHÆF7:^:%79MRF/@B7 AOOFG46A:!5%5?’6A@GO7mFGŒ%M;46QN5?C9_*Ž`àQ?MwAH@BFIAUQ?F/AQ?@BAA MdMd_UFq_ñ7D7D5!@–’6A:%V%’Db)A¢AH›5m@BFG4?_b f lmA@BFGA+x MON1FG4lDA@BFGAx MPC?F/Q?A5!lDA@–FGA+x MPUF/7DP9A_-465?A49HuFIQ?A46V?F/Œ%V?FG_49QH MON179_465?A49H œ   9 7 / F y 7 ^ é y 4 ï Ž D l  A B @ G F ; M  O  A  _  O D 7 L 5  £  A % : d M ? l ; M % :  A > : s M m 5 G F ) 4 / F ? Q U A \ H D 4 ; 8 ; 8 y 4 ¢ Ž s M ? 5

’ k F  Ž  4 k F % n % Œ  A * _ 2 à G _ R M # b ? Œ ; 8  A D l  A B @ G F ; M  O  A ` _ m 7 ? 5 L :  O 6 4 D 5 I F B @ D 4 8 lDV?AA@B_FGCuM;OŒ?A8R_V?Sf _#RE%TVò0UWo 8X;Z¨ —´MR5%Y*Œ%¨¬V?[ F/TVž\I¨7D®5?@–:AŒ%v@BAjU_GAo 5mF1—´46HJV%V?5?F/Œ%OV?FGM;FI46žU5?lD_CNA@BŽ`FGM;Q?OM;AO_œQLŽUO46Q?5?MdO_IQ•V%b)7D@–A)A46@BŒ%AA_/@GŒ7m465?5?:%_G_ñMR£?7D8;A#5?:>H\46Œ%@U@BO4?46:^b#V?Ob)AcV%5?5?AM;OŽó79FGlyM;7468Þ5 i Ž1F/Q?M;M;F/_`Q>OF/79Q?Fq]AA’D46*G46@Bn#V?FGMR_q5?Md:%O8RA V?:%ŽA4?9_ @B8;e1&: ,^ ¬ fb_f `a\h^0gbO« i(`aj¡[\¬Bb«¨*V¬X(k?Y¨}¨*c¬7m[ 5?T\Il: ¨®`^7Ofb4?XXÆ5DF/lm@–A4D@B8uFGM;FIOQ?AA)_f é^49Ž 49HFG46P9A5?_F/Q%@B46V?’6QßF/Q?A!’6@G7mŒ%Q d :;#:

monhK0pcq&rtsvu wAxzy{>&Gc>Assps}|2I0pGc>A@ u C&wtL  œ79F/7*é^49Žð’6@q7DŒ%Q?_`@BAŒ%@BA_qA5DF7=­Ofb[ fk~ ­m¬cTY ¨J`

OMs5%46Œ%5DV?FI@BF4DA8N:%é^’m49AŽœ_få%FIÚ¢Q?4DAFGA)‘Y@BQ?MR5?49Ž’!A49lmH¤AFI@Q?F/AœQ%lD79AF@BF/FqQ?MdOAA_U_GOM;Q?_`A:%:^bcAV?Fq8;46AMR5?:%@Gb)’=A8‡MR45?49HAH2:>®OTV46UW_Gb#4D88;Œ%AX;¨¢n¡V?lDF/£m79AnFq@BMdFG4?FIM;O5NQ?AA}f`_Uo17*Md_UlyQ%79MR79M;5?8RF¢7D:%£?MdA_*Œ%M;CN8;M;AF/Fk5?n>Q?:%AA49@B5mAœH2Fœ:^M;_7949F/H05?7c4FIQ?46AA5Lx%lyŒ?F/798;Q?M;8ROAV?MdMRAF@ 49ª Hg6F/¨ Q?[g6A ¨*Ms¬)5?O:^4?79b)F/7)MR5?M;_’¡7*:^ly779F/M;?78R7D£?d 8;ADf`M;Fœo1M;_}Q?V?5?_4mC%Fœ_qMs5?b AOŒ?A8dA)_G_/lD7DA@Bn>@–FGM;FGO4=A_1P?O5?7D495=Ž £ª Aœg€_GfbO[Q?A:^:^7V?F/8;7!A:M;_}797*F1lyO794?M;8Rb#7D£?Œ?8;M;AD8dAC2£%FGMRV?b)F} A @G7d F/Q?A79@U_1468;465?5?8;n’ 79_1ŽAœb#7DP9A_IŒ%AOMR7982Œ%@B49l6M;_GM;465?_H\46@FIQ?AO465DFI@B4D8NlDA@BFGM;OA_f  S 9 7 G _  A ! : 6 4

5 / F ? Q  A G _  A  O 6 4 ? 5 G _ ; M % :  A G @  7 G F ; M 6 4 ? 5  _ ? C  Ž ñ A ? V G _ œ A ) 7 ) b ? V ; 8 G F w M J i ; 8  A D l  A u 8 D 7 % Œ % Œ B @ ? 4 9 7  O

Q ` Ž ? Q  A ! 5 G _  O ? Q  A ^ : ? V ; 8 R M ? 5 è ’  7 ^ : 9 7 / F ñ 7 ^ é 9 4 Ž ’6—\5?@G7D4=Œ%OQN46f05mvF/@BV%4m@8ulD_GOAQ?@–FGAM;:^OV?A_}8;A@Bž_¢f!‘Yo1@B_GQ?FA#:%lDM;A_G_G@BFqAMdOOF¢A_F/Q?MRA5?_G’6M;:%@G7DALŒ%AQ 79MRO5DQçFq4‚49HfF/®ƒQ?TA\„_qAhXd£%«J\79…*_G®0M;OLO46£?5m8d4?F/O79PDMR5?_MR5?O’#7D5>465?F/Q?8;nA5•_qMsb £AŒ?8d_qAOQ?lDAA:^@BFGV?M;O8;AA: _ MsO5?79:%8;8uAŒlDAA@–5?FG:%M;OAA5D_`Fq8d_GnDAf1@–l6E%MRV%5?£?’L_qA79ÜÛ_ZV?*GA’D5m8RFGV?8;nDA,^C?f-F/Q?]UA`_`£%7D795L_GM;O`Ax%£?7D8;4?b#OŒ?Pm_08;AD7DCX@BF/A1Q?@BAA:%7_GM;_G_G_GAAb)OFG£?M;8;46A5>:ÆCD7DŽ15?:>M;F/Q)@BA’m798d_G4?_q£%A79b}8^£?£%8;@GnL7D5?49OH0QN7)CDŽ`b)Q?A@BM;8;’DA)A18;7D465?46:Œ Md_UM;8;8sV?_qF/@G79FGA:ßMR5!‘^’6V%@BA!zDf † ‡‰ˆH/Š‡=Õ}Õ 1 ‹œÙ–Ó o17D@GQ?@GA7D5?_q’m49AH™:FBŽ1MR7D5m@BFGA)4 :%‚ AlDOA798;FG46AŒ%’mbc46@BAM;5DA_F)àA5m\I«bl6UWMR@B4685%TVX;bc¨*¬GA®5Di`F)®\Og?46¨/5?­b_GŒAM;_GX;Fq¨_}¬q®c4iHH_qfbA\lD…=A@G¨J79`^8­Œ%@B7m4D5?’6:î@G7m®b)TVU9_CƌAXŽUfbQ?[\«DMdO¬qQ®f>Oo17D5Q?A!£AèO46@–b#46V?Œ?’6M;8;Q?A8;@Bn _ 7D5?:=F/Q?A_qOQ?A:^V?8;A@B_7D@BA:%A_GO@–Ms£A:>Ms5F/Q?M;_ñŒ%7mŒ%A@B_7D5?:=7D@BAœŒ%@–A_GA5DFqA:=MR5LF/Q?Aœ5?Ax?F1FBŽ4)_GAOFGM;465?_f

Loop Initialization Loop Body

Loop Initialization Loop Predicate

Loop Predicate

Loop Body

While loop in original dataflow graph

Ž; <

K0p’‘C&“I$uspGL

Ž;#:

K0pHm$nhK0pcq&r&spGL

While loop as list of basic-block graphs

independent basicblock schedules

W2M;’6V%@BA#zDà0E?OQ?A:^V?8;MR5?’=7)aðQ?Md8;AIiJ8;4?46Œ

While-loop in finished global schedule

ê17)V%_/V%@G@B£?A_G5mAFGFB8;iknDê CDFBOŽ464b#OŒ?46M;b#8;A@Œ?à M;8;A@¥H›@B4?5DFBiJA5?:%_Q%7*lDA1£%AA5 Msb Œ?8dAbcA5DFGA: H\46@‡]` U]3êƒà675?AV%@B49iJO4?b#Œ?M;8dA@7D5?: 1 o ? Q A Z `X¨ Œ?¬k”« ~•\Ib« UW8TVX;¨*¬179OOAŒ?FG_`79_¢Ms5%Œ%V?Fœ7cFGAx6FIV%798N:%A_GO@BMRŒ?FGM;465ß49H07D5L7D@BFGMw‘^OMR79825?AV%@G798u5?AFBŽ46@GPXf Sê17V%O@GP@BAikŒ%5mFG@B8;46nDŒ%CU79F/’?Q?79AßFGM;46H™465@–5?ŽA7mFB@BŽ: 46@G7DPm5?_u:Ÿ7D5?F/:}Q?A•@q79£%:%79MR79OPm8wikŽ£%797m_G@BM;:ð_‡H›Œ%V%Q%5?79O_GFqAMd4?_=5è7D—›@B31A>S-F/W0@q7DžÆ5?5?_GA8R79FBŽFGA4?:ï@GPDMs_‡5mFG7D4“@BA2_GOAV%Œ@GA@B@GA795mFGFGA8;n_/_/V%V%£mŒ%iJ’6Œ@G467D@BŒ%FGAQ?:Æ_*ff WY:^79V%F/@B7*F/Q?é^A49@šŽðCDAlD79AO@–Q)FGM;O5?AA_V%f@B46o¢5=Q?A}—´MR5)b#A7D7Œ%OŒ?Q#MR5?Œ%’LQ%749_GH0A5?ž‡AM;_0V%@BF/46@G7m5?5?_U_G468R795mFGFGA4#:):^MR795DFIFG7*4)é^7U49Ž_/V%’?£miJ@G’67D@GŒ%7mQ?Œ%_1Q)OO7D4655mF/F/Q?79V?MR5?_ñMR5?£’}Aœb)_/79V?M;8;:ßFGMRFGŒ?4#8dAUA_Gb#MRb#Œ?8;Œ?498;nA ƒ® Œ&~ `^¨ Œ? ¬ fbXAk6 ¬ fb`Œ€XfD¬ TV[\©9f0opAOQ%5?MdÜ%V?A_¢H™46@798;8;49Ž1MR5?’7:%MR@BAOF`b#7DŒ%Œ?MR5?’• — `^J¨ Œ6 ¬ fbXOk6 ¬ fb`Œ€XfD¬ TV[\©žC?46@-_GFqMd8;8 O467D@B_GA@¢b#7DŒ%Œ?MR5?’D_}—¦® Œh8Û¨¬ ~•`X¨ Œ? ¬ fbX&k6 ¬ fb`Œ€XfD¬ T[\©ž¢7D@BAMR5L:%AlDA8;46Œ%bcA5DF#—´_GAAœ798;_G4 _GAOFGM;465  žf 1 o ? Q ! A ® Œ–®J¨ [~c^—\Ib« UW8TX;¨¬`7OOAŒ?FG_}79_MR5%Œ%V?F#7!_GM;’65?Mw‘^O7D5mFœ_/V%£?_qAFœ49H1êCN_/VmÝOM;A5mFH\46@b)4D_GF_qOMÞi A4D5DF/Q?FGMwA‘^@O=FI7DQ%Œ%7DŒ?5•8;M;SO7979FGOM;P646Œ%5?@B_*4?fŒ%79Ú¢’64D79F/FG7DM;46£?5>8;nDC27D5?F/Q?:“M;_#31_IS-V%W £?_GA5?F)AFB49ŽH`46ê @GPm_7f8d8;49⠎146_46ŒV?_)V%5%FG4ß@B4DA8;8;xÛMs5?Œ’A@BMR7Db)5?:>A5mHJF#V%5?Ž1OM;FGF/M;Q“465•5?AOFB7Ž8d846@GMR5mPßiJ8;FBMRnÛ5?ŒMs5?A’ _ 7D7D@B@BAAœŒ%V?A_GA@qb):M;MsFG5çFGA46:Æ@Bf2:%]A@@G@GFq7*4Ln#Ms5?A8;OA@–b)A79A_G5mA#FG_`F/Q?7DA!@–AŒ%F/7D@B@GA79798;FG8;AA8;:!Md_Ib”MR5DFqAMR5>@G5%F/79Q?8;8;A#n=:^7979_1FI_G7*Oé^79498RŽg7D@–_’6f2@G7Do1Œ%Q?Q?M;__1f)FGA]OQ%@G@G5?7*Mdn?Ü%_`V?A)4HŽ‘^46x?@GAPm:•_Œ%8;A7D5?@B’DFqMdF/OIQ i AV?b#8s7mŒ?@B8;8;n•4ynmŽA: A8d82—\7DFq5?4D:L’DAl?F/Q?M;OAAI@UiJlDŽ1AM;@BF/_/Qç7mž8df 4?46ŒmikV%5%@B4m8d8;MR5?’^C-_GMR5?OA8;4?46Œ?_}7m@BA)49H™FqA5=A5?O4?V%5DFGA@–A:Ž`Q?A@–A7D@G@G7*n?_ñ7m@BA a•’6@G7DAŒ%:%QßM;l?MRM;5D:%FqAL4=F/£%Q?79A_GM;_qO#OQ?£?A8d4?:^OV?PD8;_MR5?凒7!FI_G79O_/Q?PßA:^MR5DV?FG8dAc4ßH™F/46Q%@U@BAAA!7O_/Q>V%£m£%iJ79F/_G79M;_IO#PD£?_à)8;46FIOQ?PßA9M;_8Y¬BF/¨Q?~¦A®ƒ5>\hg6’D¨/A­O5?Œ€AX;¨@G7¬ƒFG:%A:•Md_q_G£DAnLOFGF/_)Q?F/A˜Q?A!f9:^®TV79\+F/7*hé^X;«49\Ž … ƒ® \hg6¨/O­ Œ€X;¨¬Iå^7D5?:LFIQ?A:^79F/7*é^49ŽŸ’6@G7DŒ%Q!M;_@BA79_G_qAb}£?8;A:>£Dn!F/Q?Z A U)¨ [ f~¦ƒ® \hg6¨Ib­ Œ€X;¨*¬/f 7‘Y9FG5?FG:%AE?Msb#5?O’•Q?Œ?AF7ç:^FGV?4ß®ƒ8dŒMR5?™l‘Y’g5?\:“T´— ¨H™F/`4?Q?@#[ A!Xd©b)’D46468;46Œ?@B£%ALFGMR79b#FI8;8;Q%n797D825“46_GŒ?O~Q?FqMsAb Œ%:^@–79V?4688;OADA_GfLO_G_qQ?] 46A@B:^_/V%V?ž)5?8;ADMwM;H™_LC46@q£%7Db V?5îF#HJÚU@G@G7D79t‡F/b)iJQ?OAA4?Ž@b#46AŒ?@Gb#P 8;AŒ?FGH\A=8;4649@ƒn F/7AQ?_/xÛP^AŒV%fïA@–@BMdMR]U_qb)FG_M;AO5D_/_#FIV?79MRO5FGQNM;46CF/5Q?ŽAèALŽ1Q?M;:%F/4?4Q>Œ%AL:%5?Mw4m49HÀFiH H™:%AA@BŒ?AF/5mQmFi\‘YQ?@BA_GV%F@BCUM;_G£%FGM;@BOA_#79:%Q%F/79Qm_ñi\‘Y£@–A_GAF5>C1MRb)b#MR5?Œ?MR8;Ab)b)V%Ab 5mFGAH›7D:Æ5mf}iJMRZ¢5NACUV%7D@B5?M;_G:ŸFGM;Oly_7D@BMsM;b 46V?Œ?_!8dAbcO46Ab)5DFG£?AMR:5%79_GFG4#M;46HJ5?7D_L@¢49MR5?HœOFI8sV?Q?:%A¡A!7DO£@B4yM;FGlmM;ADOfŸ79805?V%FGb)A@G£%bcA@‡_`4949HÆH9Œ%*G7D_/@GŒ79A8;A8;A:?8^ikŒ%V%@BŒA4?, OA—´_GF/_GQ?46A)@B_*_GfuAÜ%aV?AA5m_qFGAMRA7980FIQ%@G79V%Fu5miJMR5?FGMROb)@BAA#7_G:%MRM;5?l?’cM;:%5?AV%: b)£m£%n=A@‡F/Q?49A!HYŒ%Œ%7m7D@G@G79798;8;8;8;AA8Y80Œ%@G@BV%4?5mOiJAFG_GMR_Gb)46A@–ž_ £%@BMR5?’D_`MR5?O@BA7_GA:=_/ŒAA:^V%Œ>V%5DFGM;8ÆFIQ?AœMRb#Œ?8;M;OMdFœŒ%7m@G798;8;A8dM;_/b 4H¤F/Q?A)5?AV%@G798u5?AFBŽ46@GPcMd_¢AxÛQ%7DV?_qFGA:Æf :%AlDAo18;46Q?Œ%A_Gb)A0A@–5mAF`_/V?A8;5mFGl6_¤MRŒ%@B4?@–4y5%l?b)M;:%AA5DF*97 f0*IE?Œ%A@BA}46479H68;_G494ßH%OìR46zIíN5?H™O4?A@1Œ?F b),46H\46@BA@NF/AQ?b A2Œ?]UMs@– UMdO]ñ78¤3@Bê•A_I7DV?@–8dOFqQ?_fM;FGAOF/V%@–A07D5?:H\46@X46V%@N_G4H™FBŽ17D@BA ¡

¢ŸÕҜØ(1I×H6NÙGՃÒ

%:vnÛV%5%@)7DbcOV%Md@GO@BA_G5mOQ?F)AO:^46V?b#8dMR5?Œ?’^M;8;fA@#@BA_GA7D@–OQ79OFGM;l?MdFqMdA_ O465?OA5DFI@G79FGA!MR5FkŽ4=7D@–A79_à)’6@G7m56V?8R7D@BM;FBn•O465mF/@B4m8™C27D5?: lDO46A@B5?FGOrJM;5AOŒ?A46_F@–C‡:%FGŽ`4=A@ÆQ?Q%FGA7*4U@BlDA#79£A 8;lm8dXd49AJ« Ž@B\cFGfOM;H\XÆO46A® (@ _œ[ fb\IŽ«[\¨fD46f¬qV?®8;o1¨:¬ Q?b)M;k6_ ¬ 4?fbŽ:%`4?AŒ€V?82XfD8d46:>¬ £?TV8;ëB[\A©9A79OC*:•FGŽ_AFq—´4è7D_I@BV?7DA-O5ßQ•OV%467@G£Û_œ@BëkAA5?5mOAFGFBV%8;iJnœ4?@B46@BAM;5?x%A_}7D5Db)FG7mA5?MR:>5?:•MRA5?_Gx?’n%FGA5%Ž15?7D7_GŒ?n?M;_G46_‡A5ßFG_/4`žƒ4979HMs58;F/8;49Q?79Ž“A):%:%:^:^M;7979FGF/F/M;467*7*5•é^é^4949FqŽŽ 4 Œ%V%@BAHJV%5?OFGM;465?_f a•A`7m@BA`798;_G4OV%@G@BA5mFG8;n#AxÛ7mb)MR5?Ms5?’ FkŽ4œŒ4D_G_GMR£?M;8;MdFqMdA_¢H\46@1­D© `fbU9TV\-_GOQ?A:^V?8dMR5?’^Wà ¤”© šc¬ T´9­ R\g6¨Ib­ ŒAX~ TV`Ok6CXŽ`Q?A@BA#£%79_GM;O#£?8;46OPD_Ž46V?8;:•£%A):%AI‘Y5?A:•MR5ßF/Q?A)OV%@G@BA5mF¢H›79_IQ?Md4?5NCÆ£%V?F_GOQ?A:^V?8;A:•_q4F/Q%7Fñb)4?@BA F/FGMRQ%5?7DO5LFGM;464?5L5?AœŽ£?468dV?4?8;O:¡PL£OA}46V?b#8;:¡7:%£AœAœ£%_GAMRb)FBŽV?A8;F/A7D5L5?_GAMR46b#V?Œ?_q8d8;n>A}7m795?OFG:=M;lDOAD46åN5m7DF/5?@B4D:l8X¥NlDA¬@BŒ6FG¨9M;O¦A_©f `afbU9T\R\g?¨/­bŒAXTV`Ok6C?Ž`Q?A@BA)5?4:%M;_Bi J r ï 5  O 6 4 ? 5  O R 8 ? V G _ ; M 6 4 N 5 ƒ C  Ž > A % Q * 7 D l • A % Œ B @  A G _  A m 5 G F  A ð : • 7 G _ ? 4 % Œ ? Q d M q _ G F ; M  O 9 7 G F  A ð :  O 6 4

b ? Œ d M ; 8  A  @ G F 6 4 m 4 s 8 m P ; M L F ` Ž ? Q ; M  O ï Q  O 6 4 m 5 D l  A B @ q F  _  O 6 4 m 5 i lDMs5?A_q5DF/Fq@GMdV?4?O5%FG79M;468c5m—™iJ_G8;AAAlDb)A8`MR5?Œ%’D7m8;@Gnî798;_G8;AA8Ü%V?OA4?5mb#FGMRŒ%79V?8RžFGAŒ%@f!@B4ma•’6@GAL7Db)Q%_ 7*lDMsA#5mFG_/4“Q?497•Ž`_q5•AF#Q?4949Ž(H}Œ%£%7D79@G_G7M;OI8d8;ikA£?88;46Œ%O@BPD4D_)’6@qO7D46b)5mF/_)79MRH\5?46MR@#5?’7ç5?‘Y4ß5?AIOiJ46’65D@G79FI@BMR5N4D8C lDMs5%A7m@BFG@Bn=M;OA@B_UA_/OV?7D8;5LFG_1£%Ž¢AMdFIAQLx6F/46@qV%79O@-FG‘YA:!@–_GF`HJ@BQ%467Db @B:%:^Ž1797DF/7*@–Añé^49Œ%Žð@B4m’?FG4D@G7DFBnی%ŒQ?A_1_/7DQ?5?49:=Žð_qOŒ%Q?@BA46:^b)V?M;8;_GAMR:ß5?’!H™4?_/@1Œ%Œ%AA7D:?@Gik79V%8;8;Œ?A_#8ÆAìRx?zqíkAf OV?FGM;465Nft0@BA8;MRbi Ÿ /7§/¥0Ô /Ҝ(Ø /76 ìRzIíW1S0r›8;A_G_/OV?P^AœC]3Œ%fŒ%@B464?746O@BQAAD,^CUCªS`©f1¬B«TU\8R«Æ7D« V?¬9A@š[Cñg6¨T)©7f¦Sa©{79¥&8;:%­_GCNOQ%zbc{D{ Md:%fF*¨C *G]U `]3êà-] Ú¢AŽ ìÞ~*íe^_G46f0OE?MR79F/Fq@BMd4?lmQ?A¡_GO œQ%75?F/A7*M;:%é^A49@Ž(CSU]ñf2@BOTUQ?8sM;7mFGV?AOAF/@V%C1@BENA,Xf2C KNM;O¯P9°2A°75%°±Q?AMRj>5?A«b@`^C1«T)k6¬ f‡f8aag“7«b8d:%`l_qO­ƒQ%b)®I®M;«J:%\FT®Cfb[ TV*GY*]`¨ U©]¬k«J3\/ꃨš®/àu®T]`bk_5fb]``X_B­i ©¬B« \I¨®I®«m¬G®C6r¦ò0ò0ò¢CÆz{D{  f

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.