FILE fqName:<root> fileName:/lazy.kt
  CLASS INTERFACE name:Lazy modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.Lazy<T of <root>.Lazy>
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
  FUN name:f visibility:public modality:FINAL returnType:kotlin.Unit
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
    VALUE_PARAMETER kind:Regular name:lazy1 index:0 type:<root>.Lazy<kotlin.Int>
    VALUE_PARAMETER kind:Regular name:lazy2 index:1 type:<root>.Lazy<kotlin.CharSequence>
    VALUE_PARAMETER kind:Regular name:lazyT index:2 type:<root>.Lazy<T of <root>.f>
    VALUE_PARAMETER kind:Regular name:lazyLazyT index:3 type:<root>.Lazy<<root>.Lazy<T of <root>.f>>
    BLOCK_BODY
      CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
        TYPE_ARG T: <root>.Lazy<kotlin.Int>
        TYPE_ARG R: kotlin.Unit
        ARG receiver: GET_VAR 'lazy1: <root>.Lazy<kotlin.Int> declared in <root>.f' type=<root>.Lazy<kotlin.Int> origin=null
        ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<kotlin.Int>, kotlin.Unit> origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<kotlin.Int>
            BLOCK_BODY
              CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
                TYPE_ARG T: <root>.Lazy<kotlin.CharSequence>
                TYPE_ARG R: kotlin.Unit
                ARG receiver: GET_VAR 'lazy2: <root>.Lazy<kotlin.CharSequence> declared in <root>.f' type=<root>.Lazy<kotlin.CharSequence> origin=null
                ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<kotlin.CharSequence>, kotlin.Unit> origin=LAMBDA
                  FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
                    VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<kotlin.CharSequence>
                    BLOCK_BODY
                      CALL 'public final fun test1 ($context_receiver_0: <root>.Lazy<kotlin.Int>, $context_receiver_1: <root>.Lazy<kotlin.CharSequence>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                        ARG $context_receiver_0: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
                        ARG $context_receiver_1: GET_VAR '$this$with: <root>.Lazy<kotlin.CharSequence> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.CharSequence> origin=IMPLICIT_ARGUMENT
                      CALL 'public final fun test2 <T> ($context_receiver_0: <root>.Lazy<T of <root>.test2>, <this>: <root>.Lazy<kotlin.Int>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                        TYPE_ARG T: kotlin.CharSequence
                        ARG $context_receiver_0: GET_VAR '$this$with: <root>.Lazy<kotlin.CharSequence> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.CharSequence> origin=IMPLICIT_ARGUMENT
                        ARG <this>: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
      CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
        TYPE_ARG T: <root>.Lazy<kotlin.CharSequence>
        TYPE_ARG R: kotlin.Unit
        ARG receiver: GET_VAR 'lazy2: <root>.Lazy<kotlin.CharSequence> declared in <root>.f' type=<root>.Lazy<kotlin.CharSequence> origin=null
        ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<kotlin.CharSequence>, kotlin.Unit> origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<kotlin.CharSequence>
            BLOCK_BODY
              CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
                TYPE_ARG T: <root>.Lazy<kotlin.Int>
                TYPE_ARG R: kotlin.Unit
                ARG receiver: GET_VAR 'lazy1: <root>.Lazy<kotlin.Int> declared in <root>.f' type=<root>.Lazy<kotlin.Int> origin=null
                ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<kotlin.Int>, kotlin.Unit> origin=LAMBDA
                  FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
                    VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<kotlin.Int>
                    BLOCK_BODY
                      CALL 'public final fun test1 ($context_receiver_0: <root>.Lazy<kotlin.Int>, $context_receiver_1: <root>.Lazy<kotlin.CharSequence>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                        ARG $context_receiver_0: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
                        ARG $context_receiver_1: GET_VAR '$this$with: <root>.Lazy<kotlin.CharSequence> declared in <root>.f.<anonymous>' type=<root>.Lazy<kotlin.CharSequence> origin=IMPLICIT_ARGUMENT
                      CALL 'public final fun test2 <T> ($context_receiver_0: <root>.Lazy<T of <root>.test2>, <this>: <root>.Lazy<kotlin.Int>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                        TYPE_ARG T: kotlin.Int
                        ARG $context_receiver_0: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
                        ARG <this>: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
      CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
        TYPE_ARG T: <root>.Lazy<T of <root>.f>
        TYPE_ARG R: kotlin.Unit
        ARG receiver: GET_VAR 'lazyT: <root>.Lazy<T of <root>.f> declared in <root>.f' type=<root>.Lazy<T of <root>.f> origin=null
        ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<T of <root>.f>, kotlin.Unit> origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<T of <root>.f>
            BLOCK_BODY
              CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
                TYPE_ARG T: <root>.Lazy<kotlin.Int>
                TYPE_ARG R: kotlin.Unit
                ARG receiver: GET_VAR 'lazy1: <root>.Lazy<kotlin.Int> declared in <root>.f' type=<root>.Lazy<kotlin.Int> origin=null
                ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<kotlin.Int>, kotlin.Unit> origin=LAMBDA
                  FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
                    VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<kotlin.Int>
                    BLOCK_BODY
                      CALL 'public final fun test2 <T> ($context_receiver_0: <root>.Lazy<T of <root>.test2>, <this>: <root>.Lazy<kotlin.Int>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                        TYPE_ARG T: kotlin.Int
                        ARG $context_receiver_0: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
                        ARG <this>: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
      CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
        TYPE_ARG T: <root>.Lazy<<root>.Lazy<T of <root>.f>>
        TYPE_ARG R: kotlin.Unit
        ARG receiver: GET_VAR 'lazyLazyT: <root>.Lazy<<root>.Lazy<T of <root>.f>> declared in <root>.f' type=<root>.Lazy<<root>.Lazy<T of <root>.f>> origin=null
        ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<<root>.Lazy<T of <root>.f>>, kotlin.Unit> origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<<root>.Lazy<T of <root>.f>>
            BLOCK_BODY
              CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
                TYPE_ARG T: <root>.Lazy<kotlin.Int>
                TYPE_ARG R: kotlin.Unit
                ARG receiver: GET_VAR 'lazy1: <root>.Lazy<kotlin.Int> declared in <root>.f' type=<root>.Lazy<kotlin.Int> origin=null
                ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<kotlin.Int>, kotlin.Unit> origin=LAMBDA
                  FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
                    VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<kotlin.Int>
                    BLOCK_BODY
                      CALL 'public final fun test2 <T> ($context_receiver_0: <root>.Lazy<T of <root>.test2>, <this>: <root>.Lazy<kotlin.Int>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                        TYPE_ARG T: kotlin.Int
                        ARG $context_receiver_0: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
                        ARG <this>: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
                      CALL 'public final fun test3 <T> ($context_receiver_0: <root>.Lazy<<root>.Lazy<T of <root>.test3>>, <this>: <root>.Lazy<kotlin.Int>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                        TYPE_ARG T: T of <root>.f
                        ARG $context_receiver_0: GET_VAR '$this$with: <root>.Lazy<<root>.Lazy<T of <root>.f>> declared in <root>.f.<anonymous>' type=<root>.Lazy<<root>.Lazy<T of <root>.f>> origin=IMPLICIT_ARGUMENT
                        ARG <this>: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
      CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
        TYPE_ARG T: <root>.Lazy<kotlin.Int>
        TYPE_ARG R: kotlin.Unit
        ARG receiver: GET_VAR 'lazy1: <root>.Lazy<kotlin.Int> declared in <root>.f' type=<root>.Lazy<kotlin.Int> origin=null
        ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<kotlin.Int>, kotlin.Unit> origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<kotlin.Int>
            BLOCK_BODY
              CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
                TYPE_ARG T: <root>.Lazy<<root>.Lazy<T of <root>.f>>
                TYPE_ARG R: kotlin.Unit
                ARG receiver: GET_VAR 'lazyLazyT: <root>.Lazy<<root>.Lazy<T of <root>.f>> declared in <root>.f' type=<root>.Lazy<<root>.Lazy<T of <root>.f>> origin=null
                ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.Lazy<<root>.Lazy<T of <root>.f>>, kotlin.Unit> origin=LAMBDA
                  FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
                    VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:<root>.Lazy<<root>.Lazy<T of <root>.f>>
                    BLOCK_BODY
                      CALL 'public final fun test2 <T> ($context_receiver_0: <root>.Lazy<T of <root>.test2>, <this>: <root>.Lazy<kotlin.Int>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                        TYPE_ARG T: <root>.Lazy<T of <root>.f>
                        ARG $context_receiver_0: GET_VAR '$this$with: <root>.Lazy<<root>.Lazy<T of <root>.f>> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<<root>.Lazy<T of <root>.f>> origin=IMPLICIT_ARGUMENT
                        ARG <this>: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
                      CALL 'public final fun test3 <T> ($context_receiver_0: <root>.Lazy<<root>.Lazy<T of <root>.test3>>, <this>: <root>.Lazy<kotlin.Int>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
                        TYPE_ARG T: T of <root>.f
                        ARG $context_receiver_0: GET_VAR '$this$with: <root>.Lazy<<root>.Lazy<T of <root>.f>> declared in <root>.f.<anonymous>.<anonymous>' type=<root>.Lazy<<root>.Lazy<T of <root>.f>> origin=IMPLICIT_ARGUMENT
                        ARG <this>: GET_VAR '$this$with: <root>.Lazy<kotlin.Int> declared in <root>.f.<anonymous>' type=<root>.Lazy<kotlin.Int> origin=IMPLICIT_ARGUMENT
  FUN name:test1 visibility:public modality:FINAL returnType:kotlin.Unit
    VALUE_PARAMETER kind:Context name:$context_receiver_0 index:0 type:<root>.Lazy<kotlin.Int>
    VALUE_PARAMETER kind:Context name:$context_receiver_1 index:1 type:<root>.Lazy<kotlin.CharSequence>
    BLOCK_BODY
  FUN name:test2 visibility:public modality:FINAL returnType:kotlin.Unit
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
    VALUE_PARAMETER kind:Context name:$context_receiver_0 index:0 type:<root>.Lazy<T of <root>.test2>
    VALUE_PARAMETER kind:ExtensionReceiver name:<this> index:1 type:<root>.Lazy<kotlin.Int>
    BLOCK_BODY
  FUN name:test3 visibility:public modality:FINAL returnType:kotlin.Unit
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
    VALUE_PARAMETER kind:Context name:$context_receiver_0 index:0 type:<root>.Lazy<<root>.Lazy<T of <root>.test3>>
    VALUE_PARAMETER kind:ExtensionReceiver name:<this> index:1 type:<root>.Lazy<kotlin.Int>
    BLOCK_BODY
