Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kids, Play Nice! Kotlin-Java Interop In Mind

Kids, Play Nice! Kotlin-Java Interop In Mind

Although it may be many developers’ favourite by now, Kotlin is not *yet* everywhere.
In the desire to deliver a library or an API that will provide the best experience for both Kotlin and Java developers, there are a few things to be aware of.

Whether you’re creating a library or exposing an API for either external or internal use, you should make sure Kotlin and Java play nice.

This talk will present some of our experiences at Nexmo in the Kotlin-Java interop realm. It will share some challenges and considerations we faced, some gotchas we encountered and some tips that will make your lives easier when striving for great developer experience.

Britt Barak

August 26, 2019
Tweet

More Decks by Britt Barak

Other Decks in Programming

Transcript

  1. 1HWOYY3GWG
    OJ A G ?OIK
    Ech`]b ( DUjU CbhYfcd Cb ]bX
    3WOYY 3GWG
    8UUM K 5K K U KW 6 KWY

    View Slide

  2. 1HWOYY3GWG
    EN 0

    View Slide

  3. 1HWOYY3GWG
    9U JUK OY UW 0

    View Slide

  4. 1HWOYY3GWG

    View Slide

  5. 1HWOYY3GWG
    =

    View Slide

  6. 1HWOYY3GWG
    =
    AJ PP

    View Slide

  7. 1HWOYY3GWG
    =
    AJ PP
    S
    MyClass.java

    View Slide

  8. 1HWOYY3GWG
    =
    AJ PP
    S S A
    MyClass.java MyClass.class

    View Slide

  9. 1HWOYY3GWG
    =
    AJ PP
    S
    I
    S A
    MyFile.kt

    View Slide

  10. 1HWOYY3GWG
    =
    AJ PP
    S
    I IM J LA
    S A
    MyFileKt.java
    MyFile.kt
    InnerClass.java

    View Slide

  11. 1HWOYY3GWG
    =
    AJ PP
    S
    I IM J LA
    S A
    MyFile.kt
    InnerClass.class
    MyFileKt.class

    View Slide

  12. 1HWOYY3GWG
    9U YU G TOIK0
    ,+ h]dg

    View Slide

  13. 1HWOYY3GWG
    ? BGLKY

    View Slide

  14. UY OT G G
    cbjYfgUh]cb:)[email protected]#YjYbh$

    View Slide

  15. UY OT G G
    jU` YjYbh 8 @jYbh#q$
    cbjYfgUh]cb:)[email protected]#YjYbh$

    View Slide

  16. UY OT G G
    ib [email protected]#YjYbh5 @jYbh:$
    jU` YjYbh 8 @jYbh#q$
    cbjYfgUh]cb:)[email protected]#YjYbh$

    View Slide

  17. UY OT G G
    ib [email protected]#YjYbh5 @jYbh:$
    jU` YjYbh 8 @jYbh#q$
    cbjYfgUh]cb:)[email protected]#YjYbh$
    jc]X [email protected]#@jYbh YjYbh $

    View Slide

  18. UY OT G G
    ib [email protected]#YjYbh5 @jYbh u $
    jU` YjYbh 8 @jYbh#q$
    cbjYfgUh]cb:)[email protected]#YjYbh$
    jc]X [email protected]#@jYbh YjYbh $

    View Slide

  19. UY OT G G
    ib [email protected]#YjYbh5 @jYbh u $
    jU` YjYbh 8 bi``
    cbjYfgUh]cb:)[email protected]#YjYbh$
    jc]X [email protected]#@jYbh YjYbh $

    View Slide

  20. UY OT G G
    ib [email protected]#YjYbh5 @jYbh u $ jc]X [email protected]#@jYbh YjYbh $

    View Slide

  21. UY OT G G
    ib [email protected]#YjYbh5 @jYbh:$
    ib [email protected]#YjYbh5 @jYbh$
    jc]X [email protected]
    #;Hi``U `Y @jYbh YjYbh $
    jc]X [email protected]
    #;HcbHi`` @jYbh YjYbh $

    View Slide

  22. View Slide

  23. View Slide

  24. UY OT G G
    ib [[email protected]#$ 5
    # ihU `Y$F][email protected] u 9
    jU` YjYbhg 8 [[email protected]#$
    jU` YjYbh 8 YjYbhg +R
    ;HcbHi``
    F][email protected] [[email protected]# $

    View Slide

  25. UY OT G G
    ib [[email protected]#$ 5
    # ihU `Y$F][email protected]
    jU` YjYbhg 8 [[email protected]#$
    jU` YjYbh 8 YjYbhg +R
    ;HcbHi``
    F]gh7;HcbHi`` @jYbh9 [[email protected]# $

    View Slide

  26. 1HWOYY3GWG
    AWU KWY WKLO K

    View Slide

  27. UY OT G G
    jU` hmdY 8 YjYbh)hmdY
    YjYbh)hmdY 8 rhYlhs
    jU` gYbh 8 YjYbh)gYbh
    YjYbh)gYbh 8 hfiY
    Lhf]b[ [YhMmdY#$
    Lhf]b[ gYhMmdY#$
    cc`YUb ]gLYbh#$
    jc]X gYhLYbh#$

    View Slide

  28. UY OT G G
    jU` hmdY 8 YjYbh)hmdY
    YjYbh)hmdY 8 rhYlhs
    jU` gYbh 8 YjYbh)gYbh
    YjYbh)gYbh 8 hfiY
    YjYbh)kUgLYYb#$
    Lhf]b[ [YhMmdY#$
    Lhf]b[ gYhMmdY#$
    cc`YUb ]gLYbh#$
    jc]X gYhLYbh#$
    cc`YUb kUgLYYb#$

    View Slide

  29. View Slide

  30. UY OT G G
    `Ugg [email protected] 5 >[email protected]
    jUf dfcdYfh]Yg 5 Ud7Lhf]b[ p

    View Slide

  31. UY OT G G
    `Ugg [email protected] 5 >[email protected]
    jUf dfcdYfh]Yg 5 Ud7Lhf]b[ jUf U[YbhHUaY
    p

    View Slide

  32. UY OT G G
    `Ugg [email protected] 5 >[email protected]
    jUf dfcdYfh]Yg 5 Ud7Lhf]b[ jUf U[YbhHUaY H dfcdYfh]Yg
    p

    View Slide

  33. UY OT G G
    `Ugg [email protected] 5 >[email protected]
    jUf dfcdYfh]Yg 5 Ud7Lhf]b[ jUf U[YbhHUaY m dfcdYfh]Yg
    p
    U[Ybh 8
    [email protected])U[YbhHUaY
    U[Ybh 8
    [email protected])[Yh

    View Slide

  34. 1HWOYY3GWG
    ( KYNUJ ?GSK

    View Slide

  35. 1HWOYY3GWG
    ( :T G G
    G UOJ
    UY OT NGWJ K UWJ
    hhdg5**_ch`]b`Ub[)cf[*Xc g*fY YfYb Y*_YmkcfX(fY YfYb Y) ha` UfX(_YmkcfXg

    View Slide

  36. UY OT G G
    igYf)]b# cbjYfgUh]cb$6

    View Slide

  37. UY OT G G
    igYf) T ]b T # cbjYfgUh]cb$ igYf)]b# cbjYfgUh]cb$6

    View Slide

  38. 1HWOYY3GWG
    ( :T G G
    G UOJ
    @ KWGYUW SKYNUJ TGSK
    hhdg5**_ch`]b`Ub[)cf[*Xc g*fY YfYb Y*_YmkcfX(fY YfYb Y) ha` cdYfUhcfg(UbX(gdY ]U`(gma c`g

    View Slide

  39. UY OT G G
    `Ugg >cbjYfgUh]cb
    F]gh7?UhY9 h]aYg#@jYbhMmdY hmdY$ oqp

    View Slide

  40. UY OT G G
    cbjYfgUh]cb)
    h]aYg#@jYbhMmdY)`Ugg >cbjYfgUh]cb
    F]gh7?UhY9 h]aYg#@jYbhMmdY hmdY$ oqp
    cbjYfgUh]cb)
    h]aYg#@jYbhMmdY)

    View Slide

  41. UY OT G G
    cbjYfgUh]cb)
    h]aYg#@jYbhMmdY)cbjYfgUh]cb @jYbhMmdY)`Ugg >cbjYfgUh]cb
    F]gh7?UhY9 h]aYg#@jYbhMmdY hmdY$ oqp
    cbjYfgUh]cb)
    h]aYg#@jYbhMmdY)

    View Slide

  42. 1HWOYY3GWG
    ( ( @ KWGYUW
    U KW UGJOTM

    View Slide

  43. UY OT G G
    cbjYfgUh]cb igYf

    View Slide

  44. UY OT G G
    `Ugg >cbjYfgUh]cb o
    p
    cbjYfgUh]cb igYf

    View Slide

  45. UY OT G G
    `Ugg >cbjYfgUh]cb o
    cdYfUhcf ib d`ig#igYf 5 NgYf$ o
    p
    p
    cbjYfgUh]cb igYf

    View Slide

  46. UY OT G G
    `Ugg >cbjYfgUh]cb o
    cdYfUhcf ib d`ig#igYf 5 NgYf$ o
    Ud]) c]b#]X igYf$
    * q *
    p
    p
    cbjYfgUh]cb igYf

    View Slide

  47. UY OT G G
    `Ugg >cbjYfgUh]cb o
    cdYfUhcf ib d`ig#igYf 5 NgYf$ o
    Ud]) c]b#]X igYf$
    * q *
    p
    p
    cbjYfgUh]cb igYf

    View Slide

  48. UY OT G G
    `Ugg >cbjYfgUh]cb o
    cdYfUhcf ib d`ig#igYf 5 NgYf$ o
    Ud]) c]b#]X igYf$
    * q *
    p
    p
    cbjYfgUh]cb igYf cbjYfgUh]cb)d`ig#igYf$

    View Slide

  49. UY OT G G
    `Ugg >cbjYfgUh]cb o
    . S C M L "
    cdYfUhcf ib d`ig#igYf 5 NgYf$ o
    Ud]) c]b#]X igYf$
    * q *
    p
    p
    cbjYfgUh]cb igYf cbjYfgUh]cb) c]b#igYf$

    View Slide

  50. 1HWOYY3GWG
    ( ) :T UY OT
    D K 1 S?GSK
    7UW PG G SKYNUJ TGSK

    View Slide

  51. 1HWOYY3GWG
    ) GSHJG
    2WM SKTY

    View Slide

  52. UY OT G G
    AJ CL
    EC SCL P AMLSM )("
    VNC ,, 0RP M SCL /> ;

    View Slide

  53. UY OT G G
    ib [[email protected]
    # cbjcCX5 Lhf]b[ cibh5 Cbh
    AJ CL
    EC SCL P AMLSM )("
    VNC ,, 0RP M SCL /> ;

    View Slide

  54. UY OT G G
    ib [[email protected]
    # cbjcCX5 Lhf]b[ cibh5 Cbh
    ]`hYf5 #@jYbh$ (9 =cc`YUb$
    AJ CL
    EC SCL P AMLSM )("
    VNC ,, 0RP M SCL /> ;

    View Slide

  55. UY OT G G
    ib [[email protected]
    # cbjcCX5 Lhf]b[ cibh5 Cbh
    ]`hYf5 #@jYbh$ (9 =cc`YUb$
    5 F][email protected] o* q *p
    AJ CL
    EC SCL P AMLSM )("
    VNC ,, 0RP M SCL /> ;

    View Slide

  56. UY OT G G
    ib [[email protected]
    # cbjcCX5 Lhf]b[ cibh5 Cbh
    ]`hYf5 #@jYbh$ (9 =cc`YUb$
    5 F][email protected] o* q *p
    AJ CL
    EC SCL P AMLSM )("
    VNC ,, 0RP M SCL /> ;
    `]Ybh)
    [[email protected]# cbjcCX -+
    Y (9 #Y)[YhMmdY#$
    )YeiU`g#>[email protected])J

    View Slide

  57. UY OT G G
    ib [[email protected]
    # cbjcCX5 Lhf]b[ cibh5 Cbh
    ]`hYf5 #@jYbh$ (9 =cc`YUb$
    5 F][email protected] o* q *p
    AJ CL
    EC SCL P AMLSM )("
    VNC ,, 0RP M SCL /> ;
    `]Ybh)
    [[email protected]# cbjcCX -+
    Y (9 #Y)[YhMmdY#$
    )YeiU`g#>ighc[email protected])J

    View Slide

  58. UY OT G G
    ib [[email protected]
    # cbjcCX5 Lhf]b[
    ]`hYf5 #@jYbh$ (9 =cc`YUb$
    cibh5 Cbh$ 5 F][email protected] o* q *p
    AJ CL
    EC SCL P AMLSM
    VNC ,, 0RP M SCL /> ;
    `]Ybh)
    [[email protected]# cbjcCX
    Y (9 #Y)[YhMmdY#$
    )YeiU`g#>[email protected])J-+$6

    View Slide

  59. 1HWOYY3GWG
    GSHJG 2WM SKTY
    G Y

    View Slide

  60. UY OT G G
    ib gYbXMYlh# U`` U _5
    #Lhf]b[$ (9 Nb]h$ 8 * q *

    View Slide

  61. UY OT G G
    ib gYbXMYlh# U`` U _5
    #Lhf]b[$ (9 Nb]h$ 8 * q *
    cbjYfUgUh]cb)gYbXMYlh#$
    o Fc[)X# MYlh rLYbh5 "]hu $ p

    View Slide

  62. UY OT G G
    ib gYbXMYlh# U`` U _5
    #Lhf]b[$ (9 Nb]h$ 8 * q *
    cbjYfUgUh]cb)gYbXMYlh#$
    o Fc[)X# MYlh rLYbh5 "]hu $ p
    cbjYfUgUh]cb)gYbXMYlh #
    hYlh (9
    o Fc[)X# MYlh
    rLYbh5 bUaY rus$6
    $6

    View Slide

  63. UY OT G G
    ib gYbXMYlh# U`` U _5
    #Lhf]b[$ (9 Nb]h$ 8 * q *
    cbjYfUgUh]cb)gYbXMYlh#$
    o Fc[)X# MYlh rLYbh5 "]hu $ p
    cbjYfUgUh]cb)gYbXMYlh #
    hYlh (9
    o Fc[)X# MYlh
    rLYbh5 bUaY rus$6
    fYhifb Nb]h)[email protected] p
    $6

    View Slide

  64. GSHJG 2WM SKTY
    tEch`]b5 k Yb fYhifb]b[ Nb]h
    1HWOYY3GWG

    View Slide

  65. GSHJG 2WM SKTY
    tEch`]b5 k Yb fYhifb]b[ Nb]h
    tIdh]cb , ( 1HWOYY3GWG

    View Slide

  66. GSHJG 2WM SKTY
    tEch`]b5 k Yb fYhifb]b[ Nb]h
    tIdh]cb ,( tIdh]cb -( Ech`]b ]bhYf U Y
    1HWOYY3GWG

    View Slide

  67. UY OT G G
    ib gYbXMYlh# U`` U _5
    #Lhf]b[$ (9 Nb]h$ 8 * q *

    View Slide

  68. UY OT G G
    ib gYbXMYlh# U`` U _5MYlh>U`` U _$
    CbhYf U Y MYlh>U`` U _o
    ib cbLYbh#ag[ 5 Lhf]b[$ 5 Nb]h
    p

    View Slide

  69. UY OT G G
    ib gYbXMYlh# U`` U _5MYlh>U`` U _$
    CbhYf U Y MYlh>U`` U _o
    ib cbLYbh#ag[ 5 Lhf]b[$ 5 Nb]h
    p
    cbjYfUgUh]cb)gYbXMYlh #
    c Y h5 MYlh>U`` U _oqp$
    cbjYfgUh]cb)gYbXMYlh#ag[ (9 q$

    View Slide

  70. GSHJG 2WM SKTY
    tEch`]b5 k Yb fYhifb]b[ Nb]h
    tIdh]cb ,5 tIdh]cb -5 Ech`]b ]bhYf U Y
    tIdh]cb .5 DUjU ]bhYf U Y
    1HWOYY3GWG

    View Slide

  71. UY OT G G
    ]bhYf U Y MYlh>U`` U _o
    jc]X cbLYbh#ag[ 5 Lhf]b[$6
    p

    View Slide

  72. UY OT G G
    ]bhYf U Y MYlh>U`` U _o
    jc]X cbLYbh#ag[ 5 Lhf]b[$6
    p
    gYbXMYlh#MYlh>U`` U _ U`` U _$

    View Slide

  73. UY OT G G
    cbjYfUgUh]cb)
    gYbXMYlh o ag[ (9 q p
    ]bhYf U Y MYlh>U`` U _o
    jc]X cbLYbh#Lhf]b[ ag[$6
    p
    gYbXMYlh#MYlh>U`` U _ U`` U _$
    cbjYfgUh]cb)
    gYbXMYlh#ag[ (9 q$

    View Slide

  74. 1HWOYY3GWG
    B2
    BOTM K 2H YWGIY KYNUJ
    G G 7 TIYOUTG :TYKWLGIK

    View Slide

  75. UY OT G G
    jc]X ghUfh>U``
    # Lhf]b[ U``YY
    >U``F]ghYbYf `]ghYbYf$ oqp

    View Slide

  76. UY OT G G
    jc]X ghUfh>U``
    # Lhf]b[ U``YY
    >U``F]ghYbYf `]ghYbYf$ oqp
    ]bhYf U Y >U``F]ghYbYfo
    jc]X cbU`` U``$
    p

    View Slide

  77. UY OT G G
    ghUfh>U``#igYfCX$
    o Fc[)X# >U`` "]h)]X UbgkYfYXus$ p
    jc]X ghUfh>U``
    # Lhf]b[ U``YY
    >U``F]ghYbYf `]ghYbYf$ oqp
    ]bhYf U Y >U``F]ghYbYfo
    jc]X cbU`` U``$
    p

    View Slide

  78. UY OT G G
    jc]X ghUfh>U``
    # Lhf]b[ U``YY
    >U``F]ghYbYf `]ghYbYf$ oqp
    ]bhYf U Y >U``F]ghYbYfo
    jc]X cbU`` U``$
    jc]X cbKY Y hYX#>U`` U``$
    p

    View Slide

  79. UY OT G G
    `]Ybh)
    ghUfh>U``#igYfCX c Y h 5 >U``F]ghYbYf o
    cjYff]XY ib cbU``$ oqp
    cjYff]XY ib cbKY Y hYX# U``5 >U``$ oqp
    p
    jc]X ghUfh>U``
    # Lhf]b[ U``YY
    >U``F]ghYbYf `]ghYbYf$ oqp
    ]bhYf U Y >U``F]ghYbYfo
    jc]X cbU`` U``$
    jc]X cbKY Y hYX#>U`` U``$
    p

    View Slide

  80. UY OT G G

    View Slide

  81. UY OT G G
    RL CU M0J CL A JJ

    View Slide

  82. UY OT G G
    RL CU M0J CL A JJ
    A JJCC* : LE
    ML0 JJ/LPTC C * A JJ* 0 JJ" - L
    ML0 JJ C CA C * A JJ* 0 JJ" - L "

    View Slide

  83. UY OT G G
    RL CU M0J CL A JJ A JJCC* : LE
    ML0 JJ/LPTC C * A JJ* 0 JJ" - L
    ML0 JJ C CA C * A JJ* 0 JJ" - L "
    S J P CLC , [email protected] CA * 0 JJ P CLC

    View Slide

  84. UY OT G G
    RL CU M0J CL A JJ A JJCC* : LE
    ML0 JJ/LPTC C * A JJ* 0 JJ" - L
    ML0 JJ C CA C * A JJ* 0 JJ" - L "
    S J P CLC , [email protected] CA * 0 JJ P CLC
    MSC C RL ML/LPTC C A JJ* 0 JJ"
    MSC C RL ML C CA C A JJ* 0 JJ"

    View Slide

  85. UY OT G G
    RL CU M0J CL A JJ A JJCC* : LE
    ML0 JJ/LPTC C * A JJ* 0 JJ" - L
    ML0 JJ C CA C * A JJ* 0 JJ" - L "
    S J P CLC , [email protected] CA * 0 JJ P CLC
    MSC C RL ML/LPTC C A JJ* 0 JJ"
    ML0 JJ/LPTC C LSMIC A JJ"
    MSC C RL ML C CA C A JJ* 0 JJ"
    ML0 JJ C CA C LSMIC A JJ"

    View Slide

  86. UY OT G G
    RL CU M0J CL A JJ A JJCC* : LE
    ML0 JJ/LPTC C * A JJ* 0 JJ" - L
    ML0 JJ C CA C * A JJ* 0 JJ" - L "
    S J P CLC , [email protected] CA * 0 JJ P CLC
    MSC C RL ML/LPTC C A JJ* 0 JJ"
    ML0 JJ/LPTC C LSMIC A JJ"
    MSC C RL ML C CA C A JJ* 0 JJ"
    ML0 JJ C CA C LSMIC A JJ"
    A JJ A JJCC J P CLC "

    View Slide

  87. UY OT G G
    AJ CL A JJ
    A JJCC
    ML0 JJ/LPTC C ,
    ML0 JJ C CA C ,
    "

    View Slide

  88. UY OT G G
    AJ CL A JJ
    A JJCC
    ML0 JJ/LPTC C ,
    ML0 JJ C CA C ,
    "
    A JJ
    AJ CL
    A JJCC
    ML0 JJ/LPTC C ,
    ML0 JJ C CA C ,
    "

    View Slide

  89. UY OT G G
    AJ CL A JJ
    A JJCC
    ML0 JJ/LPTC C ,
    ML0 JJ C CA C ,
    "
    A JJ
    AJ CL
    A JJCC
    ML0 JJ/LPTC C ,
    ML0 JJ C CA C ,
    "

    View Slide

  90. 1HWOYY3GWG
    7O K ?GSK

    View Slide

  91. UY OT G G
    >cbjYfgUh]cbLYhh]b[g)_h
    jU` cb ][g 8 * q *

    View Slide

  92. UY OT G G
    >cbjYfgUh]cbLYhh]b[g)_h
    jU` cb ][g 8 * q *
    cbjc>cb ][g 8
    >cbjYfgUh]cbLYhh]b[gEh
    )[Yh>cb ][g#$

    View Slide

  93. UY OT G G
    >cbjYfgUh]cbLYhh]b[g)_h
    ; ]`Y5DjaHUaY#r>cb ][gs$
    jU` cb ][g 8 * q *
    cbjc>cb ][g 8
    >cb ][g)
    [Yh>cb ][g#$

    View Slide

  94. UY OT G G
    >cbjYfgUh]cbLYhh]b[g)_h
    ; ]`Y5Dja i`h] ]`Y>`Ugg
    ; ]`Y5DjaHUaY#r>cb ][gs$
    jU` cb ][g 8 * q *
    cbjc>cb ][g 8
    >cb ][g)
    [Yh>cb ][g#$

    View Slide

  95. 1HWOYY3GWG
    4US GTOUT
    7 TIYOUT GTJ 7OK J

    View Slide

  96. UY OT G G
    `Ugg [email protected] o
    cadUb]cb c Y h o
    jU` [email protected]@OM 8 rhmdY 5 hYlhs
    ib i]`XYf 8 =i]`XYf#$
    p
    p

    View Slide

  97. UY OT G G
    `Ugg [email protected] o
    cadUb]cb c Y h o
    jU` [email protected]@OM 8 rhmdY 5 hYlhs
    ib i]`XYf 8 =i]`XYf#$
    p
    p
    [email protected])>cadUb]cb)
    [email protected]@OM
    [email protected])>cadUb]cb)
    i]`XYf#$

    View Slide

  98. UY OT G G
    `Ugg [email protected] o
    cadUb]cb c Y h o
    ;DjaA]Y`X
    jU` [email protected]@OM 8 rhmdY 5 hYlhs
    ;DjaLhUh]
    ib i]`XYf 8 =i]`XYf#$
    p
    p
    [email protected])[email protected]@OM
    [email protected]) i]`XYf#$

    View Slide

  99. 1HWOYY3GWG
    , 7 TIYOUT
    U KW UGJ

    View Slide

  100. UY OT G G
    ib bYk>cbjYfgUh]cb#
    bUaY5 Lhf]b[ c]b 5 =cc`YUb 8 hfiY$

    View Slide

  101. UY OT G G
    ib bYk>cbjYfgUh]cb#
    bUaY5 Lhf]b[ c]b 5 =cc`YUb 8 hfiY$

    View Slide

  102. UY OT G G
    ib bYk>cbjYfgUh]cb#
    bUaY5 Lhf]b[ c]b 5 =cc`YUb 8 hfiY$
    `]Ybh)
    bYk>cbjYfgUh]cb#TTam> UhTT hfiY$

    View Slide

  103. UY OT G G
    ;DjaIjYf`cUXg
    ib bYk>cbjYfgUh]cb#
    bUaY5 Lhf]b[ c]b 5 =cc`YUb 8 hfiY$
    `]Ybh)
    bYk>cbjYfgUh]cb#TTam> UhTT hfiY$
    `]Ybh)
    bYk>cbjYfgUh]cb#TTam> UhTT$

    View Slide

  104. UY OT G G
    `Ugg @jYbh #hmdY 5 @jYbhMmdY
    8 @jYbhMmdY)>NLMI $

    View Slide

  105. UY OT G G
    `Ugg @jYbh #hmdY 5 @jYbhMmdY
    8 @jYbhMmdY)>NLMI $
    YjYbh 8
    bYk @jYbh#@jYbhMmdY )>NLMI $

    View Slide

  106. UY OT G G
    `Ugg @jYbh
    ;DjaIjYf`cUXg cbghfi hcf
    #hmdY 5 @jYbhMmdY
    8 @jYbhMmdY)>NLMI $
    YjYbh 8
    bYk @jYbh#@jYbhMmdY )>NLMI $

    View Slide

  107. UY OT G G
    `Ugg @jYbh
    ;DjaIjYf`cUXg cbghfi hcf
    #hmdY 5 @jYbhMmdY
    8 @jYbhMmdY)>NLMI $
    YjYbh 8
    bYk @jYbh#@jYbhMmdY )>NLMI $
    YjYbh 8 bYk @jYbh#$
    YjYbh 8
    bYk @jYbh#@jYbhMmdY )[email protected]$

    View Slide

  108. 1HWOYY3GWG
    - 5UI SKTY
    6 IK YOUT

    View Slide

  109. UY OT G G
    ib gYbXV
    AJ CL PCL / AFC CL N F"
    A AF 2 JC M 2MRL UACN ML C"
    Y

    View Slide

  110. UY OT G G
    ;M fckg#A]`[email protected] Ydh]cb55 `Ugg$
    ib gYbXV
    AJ CL PCL / AFC CL N F"
    A AF 2 JC M 2MRL UACN ML C"
    Y

    View Slide

  111. 1HWOYY3GWG
    . BKG KJ 4 G K

    View Slide

  112. UY OT G G
    gYU`YX `Ugg m>U``LhUhig
    `Ugg U``LhUhig#$
    `Ugg KY Y hYX#jU` fYUgcb5 Lhf]b[$ 5
    m>U``LhUhig#$
    c Y h Cb]h]U`]nYX 5 m>U``LhUhig#$

    View Slide

  113. UY OT G G
    k Yb#ghUhig$ o
    ]g ]g KY Y hYX (9 * q *
    ]g Cb]h]U`]nYX (9 * q *
    q
    p

    View Slide

  114. UY OT G G
    k Yb#ghUhig$ o
    ]g ]g KY Y hYX (9 * q *
    ]g Cb]h]U`]nYX (9 * q *
    q
    p
    ] #ghUhig ]bghUb Yc Cb]h]U`]nYX$
    o* q *p
    Y`gY ] #ghUhig ]bghUb Yc KY Y hYX$
    o* q *p
    q

    View Slide

  115. 1HWOYY3GWG
    @ KT I G K

    View Slide

  116. UY OT G G
    cdYb `Ugg >[email protected]

    View Slide

  117. B S D
    ,) Hi`` gU Yhm
    -) JfcdYfhm dfY ]lYg
    .) Yh cX bUaYg
    /) FUa XU Uf[iaYbhg
    0) A]`Y bUaYg
    1) >cadUb]cb c Y hg
    2) IjYf`cUXg
    3) ?c iaYbh Yl Ydh]cbg
    4) LYU`YX `UggYg
    ,+) IdYb `UggYg

    View Slide

  118. 1HWOYY3GWG
    6 YKT OUT L TIYOUT
    GWK U W LWOKTJ

    View Slide

  119. 1HWOYY3GWG
    9U YU KT WK
    G OTM TOIK0

    View Slide

  120. OTY 4NKI
    tLiddcfhYX > Y _g ]b DUjU `UggYg
    tNb_bckb Hi``bYgg
    tJfcdYfhm < Ygg
    tHc BUfX Ech`]b _YmkcfXg
    tFUa XU JUfUaYhYfg FUgh

    View Slide

  121. OTY 4NKI
    tA]`Y 9 JfY YfYb Yg 9 @X]hcf 9
    CbgdY h]cbg
    tM Y Y _g k]`` fib k Yb mci
    fib mcif cXY ]bgdY h]cbg
    #cXYq$

    View Slide

  122. UY OT 3 YKIUJK

    View Slide

  123. ( 8KY U W NGTJ JOWY
    t?Yg][b k]h mcif UbXg
    tMYgh k]h Ub Udd
    1HWOYY3GWG

    View Slide

  124. 1HWOYY3GWG
    C92? [email protected]
    13WOYY3GWG

    View Slide