// -- Module: <m1> --
package

package a {

    package a.b {
        public fun ab_fun(): kotlin.Unit

        public final class c {
            public constructor c()
            public final fun ab_c(): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

            public final class d {
                public constructor d()
                public final fun ab_cd(): kotlin.Unit
                public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
                public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
                public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
            }
        }
    }
}


// -- Module: <m2> --
package

package a {
    public fun a_fun(): kotlin.Unit

    public final class b {
        public constructor b()
        public final fun a_b(): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        public final class c {
            public constructor c()
            public final fun a_bc(): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
        }
    }
}


// -- Module: <m3> --
package

public fun test(/*0*/ a_b: a.b): kotlin.Unit
public fun test2(/*0*/ ab_c: a.b.c): kotlin.Unit

package a {
    public fun a_fun(): kotlin.Unit
    public fun test(/*0*/ a_b: a.b): kotlin.Unit
    public fun test2(/*0*/ ab_c: a.b.c): kotlin.Unit

    public final class b {
        // -- Module: <m2> --
    }

    package a.b {
        public fun ab_fun(): kotlin.Unit

        public final class c {
            // -- Module: <m1> --
        }
    }
}


// -- Module: <m4> --
package

public fun test(/*0*/ a_b: a.b): kotlin.Unit
public fun test2(/*0*/ ab_c: a.b.c): kotlin.Unit

package a {
    public fun a_fun(): kotlin.Unit
    public fun test(/*0*/ a_b: a.b): kotlin.Unit
    public fun test2(/*0*/ ab_c: a.b.c): kotlin.Unit

    public final class b {
        // -- Module: <m2> --
    }

    package a.b {
        public fun ab_fun(): kotlin.Unit

        public final class c {
            // -- Module: <m1> --
        }
    }
}


