# {"id":"partitionSourceFiles","fileNameMappings":{"okhttp3.Request":"Request.kt","com.ustadmobile.libcache.okhttp.RequestExtKt":"RequestExt.kt","kotlinx.coroutines.flow.ReadonlyStateFlow":"Share.kt","com.ustadmobile.libcache.headers.HttpHeadersExtKt":"HttpHeadersExt.kt","okhttp3.internal.http.RealInterceptorChain":"RealInterceptorChain.kt","com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapterKt":"OkHttpHeadersAdapter.kt","com.ustadmobile.libcache.okhttp.UstadCacheInterceptor$PartialFileMetadata":"UstadCacheInterceptor.kt","com.ustadmobile.libcache.connectivitymonitor.ConnectivityState":"ConnectivityMonitor.kt","kotlin.jvm.internal.Intrinsics":"Intrinsics.java","com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapterKt":"OkHttpRequestAdapter.kt","com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitorAndroid":"ConnectivityMonitorAndroid.kt","okio.Okio__OkioKt":"Okio.kt","com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader":"RequestCacheControlHeader.kt","okhttp3.Response$Builder":"Response.kt","okhttp3.Response":"Response.kt","kotlin.time.Clock$System":"Clock.kt","okhttp3.HttpUrl":"HttpUrl.kt","kotlin.time.InstantJvmKt":"InstantJvm.kt"}}
com.ustadmobile.libcache.okhttp.UstadCacheInterceptor -> tx7:
# {"id":"sourceFile","fileName":"UstadCacheInterceptor.kt"}
    com.ustadmobile.libcache.UstadCache cache -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lpx7;"}
    kotlin.jvm.functions.Function0 tmpDirProvider -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ly7;"}
    com.ustadmobile.libcache.logging.UstadCacheLogger logger -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lm0a;"}
    com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker cacheControlFreshnessChecker -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Le06;"}
    com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker responseCacheabilityChecker -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lld6;"}
    kotlinx.io.files.FileSystem fileSystem -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lq66;"}
    kotlinx.serialization.json.Json json -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lai3;"}
    com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor connectivityMonitor -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lg71;"}
    java.util.concurrent.ExecutorService executor -> i
    1:3:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):66:66 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lpx7;Ly7;Lm0a;Lai3;Lg71;)V"}
    4:6:void com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImpl.<init>():8:8 -> <init>
    4:6:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):66 -> <init>
    7:10:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):68:68 -> <init>
    11:13:void com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImpl.<init>():5:5 -> <init>
    11:13:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):68 -> <init>
    14:15:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):69:69 -> <init>
    16:18:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61:61 -> <init>
    19:21:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):60:60 -> <init>
    19:21:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    22:23:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):62:62 -> <init>
    22:23:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    24:25:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):63:63 -> <init>
    24:25:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    26:27:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):64:64 -> <init>
    26:27:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    28:29:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):65:65 -> <init>
    28:29:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    30:31:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):67:67 -> <init>
    30:31:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    32:33:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):69:69 -> <init>
    32:33:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    34:35:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):70:70 -> <init>
    34:35:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    36:37:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):71:71 -> <init>
    36:37:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    38:44:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):74:74 -> <init>
    38:44:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    7:8:okhttp3.Request okhttp3.internal.http.RealInterceptorChain.request():309:309 -> a
    7:8:okhttp3.Response intercept(okhttp3.Interceptor$Chain):264 -> a
    7:8:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lls5;)Lj56;"}
    9:14:okhttp3.HttpUrl okhttp3.Request.url():38:38 -> a
    9:14:okhttp3.Response intercept(okhttp3.Interceptor$Chain):265 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:14:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    15:16:java.lang.String okhttp3.HttpUrl.toString():757:757 -> a
    15:16:okhttp3.Response intercept(okhttp3.Interceptor$Chain):265 -> a
    15:16:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    17:18:okhttp3.Call okhttp3.internal.http.RealInterceptorChain.call():307:307 -> a
    17:18:okhttp3.Response intercept(okhttp3.Interceptor$Chain):266 -> a
    17:18:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    19:45:okhttp3.Response intercept(okhttp3.Interceptor$Chain):267:267 -> a
    19:45:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    46:47:okhttp3.Response intercept(okhttp3.Interceptor$Chain):269:269 -> a
    46:47:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    48:54:java.lang.String com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapter.get(java.lang.String):10:10 -> a
    48:54:okhttp3.Response intercept(okhttp3.Interceptor$Chain):269 -> a
    48:54:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    55:61:okhttp3.Response intercept(okhttp3.Interceptor$Chain):270:270 -> a
    55:61:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    62:70:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):9:9 -> a
    62:70:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    62:70:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    71:72:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10:10 -> a
    71:72:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    71:72:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    73:76:boolean kotlin.jvm.internal.Intrinsics.areEqual(java.lang.Object,java.lang.Object):169:169 -> a
    73:76:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10 -> a
    73:76:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    73:76:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    77:86:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10:10 -> a
    77:86:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    77:86:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    87:95:boolean kotlin.jvm.internal.Intrinsics.areEqual(java.lang.Object,java.lang.Object):169:169 -> a
    87:95:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10 -> a
    87:95:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    87:95:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    96:99:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getNoStore():15:15 -> a
    96:99:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    96:99:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    96:99:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    100:106:java.lang.String okhttp3.Request.header(java.lang.String):86:86 -> a
    100:106:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):250 -> a
    100:106:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    100:106:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    107:110:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):253:253 -> a
    107:110:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    107:110:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    111:117:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    111:117:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    111:117:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):254 -> a
    111:117:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    111:117:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    118:122:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    118:122:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):255 -> a
    118:122:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    118:122:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    123:126:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276:276 -> a
    123:126:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    127:148:okhttp3.Response intercept(okhttp3.Interceptor$Chain):279:279 -> a
    127:148:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    149:153:okhttp3.Response intercept(okhttp3.Interceptor$Chain):277:277 -> a
    149:153:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    154:155:okhttp3.Response intercept(okhttp3.Interceptor$Chain):285:285 -> a
    154:155:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    156:159:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    160:164:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    160:164:okhttp3.Response intercept(okhttp3.Interceptor$Chain):283 -> a
    160:164:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    165:165:okhttp3.Response intercept(okhttp3.Interceptor$Chain):288:288 -> a
    165:165:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    166:171:okhttp3.Response intercept(okhttp3.Interceptor$Chain):292:292 -> a
    166:171:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    172:178:okhttp3.Response intercept(okhttp3.Interceptor$Chain):293:293 -> a
    172:178:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    179:183:com.ustadmobile.ihttp.request.IHttpRequest com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapterKt.asIHttpRequest(okhttp3.Request):22:22 -> a
    179:183:okhttp3.Response intercept(okhttp3.Interceptor$Chain):296 -> a
    179:183:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    184:192:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297:297 -> a
    184:192:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    193:194:java.lang.Object kotlinx.coroutines.BuildersKt__Builders_concurrentKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):158:158 -> a
    193:194:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1 -> a
    193:194:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297 -> a
    193:194:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    195:198:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2):1:1 -> a
    195:198:java.lang.Object kotlinx.coroutines.BuildersKt__Builders_concurrentKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):157 -> a
    195:198:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1 -> a
    195:198:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297 -> a
    195:198:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    199:205:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297:297 -> a
    199:205:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    206:213:com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapter com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapterKt.asIHttpHeaders(okhttp3.Headers):22:22 -> a
    206:213:okhttp3.Response intercept(okhttp3.Interceptor$Chain):301 -> a
    206:213:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    214:217:okhttp3.Response intercept(okhttp3.Interceptor$Chain):303:303 -> a
    214:217:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    218:236:okhttp3.Response intercept(okhttp3.Interceptor$Chain):304:304 -> a
    218:236:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    237:242:kotlin.time.Instant kotlin.time.InstantJvmKt.systemClockNow():13:13 -> a
    237:242:kotlin.time.Instant kotlin.time.Clock$System.now():60 -> a
    237:242:okhttp3.Response intercept(okhttp3.Interceptor$Chain):305 -> a
    237:242:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    243:246:okhttp3.Response intercept(okhttp3.Interceptor$Chain):305:305 -> a
    243:246:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    247:263:okhttp3.Response intercept(okhttp3.Interceptor$Chain):306:306 -> a
    247:263:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    264:269:kotlin.time.Instant kotlin.time.InstantJvmKt.systemClockNow():13:13 -> a
    264:269:kotlin.time.Instant kotlin.time.Clock$System.now():60 -> a
    264:269:okhttp3.Response intercept(okhttp3.Interceptor$Chain):307 -> a
    264:269:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    270:276:okhttp3.Response intercept(okhttp3.Interceptor$Chain):307:307 -> a
    270:276:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    277:289:okhttp3.Response intercept(okhttp3.Interceptor$Chain):300:300 -> a
    277:289:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    290:291:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311:311 -> a
    290:291:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    292:293:kotlinx.coroutines.flow.StateFlow com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitorAndroid.getStatusFlow():19:19 -> a
    292:293:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
    292:293:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    294:299:java.lang.Object kotlinx.coroutines.flow.ReadonlyStateFlow.getValue():0:0 -> a
    294:299:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
    294:299:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    300:301:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311:311 -> a
    300:301:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    302:307:boolean com.ustadmobile.libcache.connectivitymonitor.ConnectivityState.isConnected():9:9 -> a
    302:307:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    302:307:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    308:320:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getOnlyIfCached():17:17 -> a
    308:320:okhttp3.Response intercept(okhttp3.Interceptor$Chain):312 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    308:320:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    321:334:boolean com.ustadmobile.libcache.cachecontrol.CachedResponseStatus.isFresh():15:15 -> a
    321:334:okhttp3.Response intercept(okhttp3.Interceptor$Chain):313 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    321:334:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    335:338:okhttp3.Response intercept(okhttp3.Interceptor$Chain):321:321 -> a
    335:338:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    339:368:okhttp3.Response intercept(okhttp3.Interceptor$Chain):322:322 -> a
    339:368:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    369:373:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getOnlyIfCached():17:17 -> a
    369:373:okhttp3.Response intercept(okhttp3.Interceptor$Chain):334 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    369:373:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    374:375:void okhttp3.Response$Builder.<init>():360:360 -> a
    374:375:okhttp3.Response intercept(okhttp3.Interceptor$Chain):335 -> a
    374:375:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    376:382:void okhttp3.Headers$Builder.<init>():206:206 -> a
    376:382:void okhttp3.Response$Builder.<init>():371 -> a
    376:382:okhttp3.Response intercept(okhttp3.Interceptor$Chain):335 -> a
    376:382:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    383:391:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340:340 -> a
    383:391:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    392:394:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):139:139 -> a
    392:394:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    392:394:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    392:394:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    392:394:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    395:402:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):215:215 -> a
    395:402:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    395:402:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    395:402:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    395:402:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    403:406:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):139:139 -> a
    403:406:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    403:406:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    403:406:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    403:406:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    407:436:okhttp3.Response okhttp3.Response$Builder.build():510:510 -> a
    407:436:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    407:436:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    437:474:okhttp3.Response intercept(okhttp3.Interceptor$Chain):342:342 -> a
    437:474:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    475:496:okhttp3.Response intercept(okhttp3.Interceptor$Chain):350:350 -> a
    475:496:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    497:500:okhttp3.Response intercept(okhttp3.Interceptor$Chain):351:351 -> a
    497:500:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    501:507:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    501:507:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    501:507:okhttp3.Response intercept(okhttp3.Interceptor$Chain):352 -> a
    501:507:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    508:511:okhttp3.Response intercept(okhttp3.Interceptor$Chain):353:353 -> a
    508:511:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    512:514:okhttp3.Response intercept(okhttp3.Interceptor$Chain):354:354 -> a
    512:514:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    515:518:okhttp3.Response intercept(okhttp3.Interceptor$Chain):356:356 -> a
    515:518:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    519:521:okhttp3.Response intercept(okhttp3.Interceptor$Chain):357:357 -> a
    519:521:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    522:526:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    522:526:okhttp3.Response intercept(okhttp3.Interceptor$Chain):360 -> a
    522:526:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    527:530:okhttp3.Response intercept(okhttp3.Interceptor$Chain):360:360 -> a
    527:530:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    531:536:int okhttp3.Response.code():61:61 -> a
    531:536:okhttp3.Response intercept(okhttp3.Interceptor$Chain):366 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    531:536:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    537:539:okhttp3.Response intercept(okhttp3.Interceptor$Chain):367:367 -> a
    537:539:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    540:549:okhttp3.Response intercept(okhttp3.Interceptor$Chain):368:368 -> a
    540:549:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    550:552:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1:1 -> a
    550:552:okhttp3.Response intercept(okhttp3.Interceptor$Chain):368 -> a
    550:552:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    553:556:com.ustadmobile.ihttp.headers.IHttpHeaders com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapter.getHeaders():11:11 -> a
    553:556:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    553:556:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    557:563:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.containsHeader(com.ustadmobile.ihttp.headers.IHttpHeaders,java.lang.String):28:28 -> a
    557:563:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.hasCacheValidators(com.ustadmobile.ihttp.headers.IHttpHeaders):35 -> a
    557:563:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    557:563:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    564:569:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.containsHeader(com.ustadmobile.ihttp.headers.IHttpHeaders,java.lang.String):28:28 -> a
    564:569:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.hasCacheValidators(com.ustadmobile.ihttp.headers.IHttpHeaders):36 -> a
    564:569:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    564:569:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    570:571:okhttp3.Response intercept(okhttp3.Interceptor$Chain):377:377 -> a
    570:571:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    572:586:okhttp3.Response intercept(okhttp3.Interceptor$Chain):379:379 -> a
    572:586:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    587:588:okhttp3.Response intercept(okhttp3.Interceptor$Chain):381:381 -> a
    587:588:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    589:591:okhttp3.Response intercept(okhttp3.Interceptor$Chain):377:377 -> a
    589:591:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    592:595:okhttp3.Response intercept(okhttp3.Interceptor$Chain):382:382 -> a
    592:595:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    596:605:okhttp3.Response intercept(okhttp3.Interceptor$Chain):385:385 -> a
    596:605:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    606:609:okhttp3.Response intercept(okhttp3.Interceptor$Chain):383:383 -> a
    606:609:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    610:613:okhttp3.Response intercept(okhttp3.Interceptor$Chain):389:389 -> a
    610:613:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    614:641:okhttp3.Response intercept(okhttp3.Interceptor$Chain):390:390 -> a
    614:641:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    642:651:okhttp3.Response intercept(okhttp3.Interceptor$Chain):394:394 -> a
    642:651:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    652:655:boolean com.ustadmobile.libcache.okhttp.ResponseCacheabilityCheckerExtKt.canStore$default(com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,okhttp3.Response,boolean,int,java.lang.Object):8:8 -> a
    652:655:okhttp3.Response intercept(okhttp3.Interceptor$Chain):395 -> a
    652:655:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    656:659:okhttp3.Response intercept(okhttp3.Interceptor$Chain):395:395 -> a
    656:659:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    660:663:okhttp3.Response intercept(okhttp3.Interceptor$Chain):397:397 -> a
    660:663:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    664:691:okhttp3.Response intercept(okhttp3.Interceptor$Chain):398:398 -> a
    664:691:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    692:715:okhttp3.Response intercept(okhttp3.Interceptor$Chain):403:403 -> a
    692:715:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    716:720:okhttp3.Response intercept(okhttp3.Interceptor$Chain):402:402 -> a
    716:720:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    721:722:okhttp3.Response intercept(okhttp3.Interceptor$Chain):362:362 -> a
    721:722:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    723:726:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    727:731:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    727:731:okhttp3.Response intercept(okhttp3.Interceptor$Chain):362 -> a
    727:731:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    732:734:okhttp3.Response intercept(okhttp3.Interceptor$Chain):363:363 -> a
    732:734:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    735:746:okhttp3.Response intercept(okhttp3.Interceptor$Chain):412:412 -> a
    735:746:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    747:750:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    751:759:okhttp3.Response intercept(okhttp3.Interceptor$Chain):412:412 -> a
    751:759:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    760:776:okhttp3.Response intercept(okhttp3.Interceptor$Chain):416:416 -> a
    760:776:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    777:801:okhttp3.Response intercept(okhttp3.Interceptor$Chain):418:418 -> a
    777:801:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    802:808:java.lang.String com.ustadmobile.libcache.okhttp.UstadCacheInterceptor$PartialFileMetadata.getEtag():85:85 -> a
    802:808:okhttp3.Response intercept(okhttp3.Interceptor$Chain):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    802:808:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    809:812:okhttp3.Response intercept(okhttp3.Interceptor$Chain):423:423 -> a
    809:812:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    813:819:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    813:819:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    813:819:okhttp3.Response intercept(okhttp3.Interceptor$Chain):424 -> a
    813:819:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    820:824:okhttp3.Response intercept(okhttp3.Interceptor$Chain):425:425 -> a
    820:824:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    825:832:okhttp3.Response intercept(okhttp3.Interceptor$Chain):426:426 -> a
    825:832:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    833:836:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    837:841:okhttp3.Response intercept(okhttp3.Interceptor$Chain):426:426 -> a
    837:841:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    842:847:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    842:847:okhttp3.Response intercept(okhttp3.Interceptor$Chain):427 -> a
    842:847:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    848:856:java.lang.String okhttp3.Request.header(java.lang.String):86:86 -> a
    848:856:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):250 -> a
    848:856:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    848:856:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    857:860:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):253:253 -> a
    857:860:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    857:860:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    861:867:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    861:867:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    861:867:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):254 -> a
    861:867:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    861:867:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    868:872:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    868:872:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):255 -> a
    868:872:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    868:872:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    873:881:okhttp3.Response intercept(okhttp3.Interceptor$Chain):433:433 -> a
    873:881:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    882:887:okhttp3.Response intercept(okhttp3.Interceptor$Chain):444:444 -> a
    882:887:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    888:891:okhttp3.Response intercept(okhttp3.Interceptor$Chain):449:449 -> a
    888:891:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    892:919:okhttp3.Response intercept(okhttp3.Interceptor$Chain):450:450 -> a
    892:919:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    920:948:okhttp3.Response intercept(okhttp3.Interceptor$Chain):454:454 -> a
    920:948:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    949:950:okhttp3.Response intercept(okhttp3.Interceptor$Chain):437:437 -> a
    949:950:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    951:954:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    955:959:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    955:959:okhttp3.Response intercept(okhttp3.Interceptor$Chain):435 -> a
    955:959:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    960:960:okhttp3.Response intercept(okhttp3.Interceptor$Chain):440:440 -> a
    960:960:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    1:2:int okhttp3.Response.code():61:61 -> b
    1:2:java.lang.String logSummary(okhttp3.Response):79 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:2:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lj56;)Ljava/lang/String;"}
    3:4:java.lang.String okhttp3.Response.message():59:59 -> b
    3:4:java.lang.String logSummary(okhttp3.Response):79 -> b
    3:4:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    5:6:okhttp3.Headers okhttp3.Response.headers():68:68 -> b
    5:6:java.lang.String logSummary(okhttp3.Response):79 -> b
    5:6:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    7:12:java.lang.String logSummary(okhttp3.Response):79:79 -> b
    7:12:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    13:61:java.lang.String logSummary(okhttp3.Response):80:80 -> b
    13:61:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    62:66:java.lang.String UstadCacheInterceptor.logSummary(Response):0:0 -> b
    1:2:okhttp3.Request okhttp3.Response.request():55:55 -> c
    1:2:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):230 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcs5;Lj56;)Lj56;"}
    3:4:java.lang.String okhttp3.Request.method():41:41 -> c
    3:4:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):230 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:okhttp3.HttpUrl okhttp3.Request.url():38:38 -> c
    5:6:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:8:int okhttp3.Response.code():61:61 -> c
    7:8:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231 -> c
    9:10:java.lang.String okhttp3.Response.message():59:59 -> c
    9:10:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231 -> c
    11:51:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231:231 -> c
    52:56:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):230:230 -> c
    57:61:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):232:232 -> c
    62:66:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):233:233 -> c
    67:70:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):235:235 -> c
    71:72:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236:236 -> c
    73:76:okio.Source okio.Okio.source(java.io.InputStream):1:1 -> c
    73:76:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236 -> c
    77:81:okio.BufferedSource okio.Okio__OkioKt.buffer(okio.Source):33:33 -> c
    77:81:okio.BufferedSource okio.Okio.buffer(okio.Source):1 -> c
    77:81:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236 -> c
    82:97:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):237:237 -> c
    98:101:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):238:238 -> c
    102:106:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(okio.BufferedSource,okhttp3.MediaType,long):273:273 -> c
    102:106:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236 -> c
    107:108:okhttp3.Response$Builder okhttp3.Response$Builder.body(okhttp3.ResponseBody):453:453 -> c
    107:108:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):235 -> c
    109:112:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):241:241 -> c
    113:127:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):242:242 -> c
