// FIR_IDENTICAL // See KT-9540 // all protected should have lower bound that is more permissive than private // protected and internal should have lower bound that is more permissive than private open class A { private interface B protected open class C { protected interface D : B internal interface E : B, D } } open class Owner { protected open class A : Owner() { protected open class ProtectedInA } protected abstract class B : A() { protected abstract fun foo(): ProtectedInA } }