.class public final Lokio/Utf8; .super Ljava/lang/Object; .source "Utf8.kt" # annotations .annotation system Ldalvik/annotation/SourceDebugExtension; value = "SMAP\nUtf8.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Utf8.kt\nokio/Utf8\n+ 2 -Util.kt\nokio/-Util\n*L\n1#1,549:1\n393#1,9:552\n127#1:561\n402#1,18:563\n434#1,4:582\n127#1:586\n440#1,10:588\n127#1:598\n450#1,5:600\n127#1:605\n455#1,22:607\n492#1,4:630\n127#1:634\n498#1,2:636\n127#1:638\n502#1,10:640\n127#1:650\n512#1,5:652\n127#1:657\n517#1,5:659\n127#1:664\n522#1,26:666\n393#1,9:693\n127#1:702\n402#1,18:704\n434#1,4:723\n127#1:727\n440#1,10:729\n127#1:739\n450#1,5:741\n127#1:746\n455#1,22:748\n492#1,4:771\n127#1:775\n498#1,2:777\n127#1:779\n502#1,10:781\n127#1:791\n512#1,5:793\n127#1:798\n517#1,5:800\n127#1:805\n522#1,26:807\n127#1:833\n127#1:835\n127#1:837\n127#1:839\n127#1:841\n127#1:843\n127#1:845\n127#1:847\n127#1:849\n66#2:550\n60#2:551\n66#2:562\n60#2:581\n66#2:587\n66#2:599\n66#2:606\n60#2:629\n66#2:635\n66#2:639\n66#2:651\n66#2:658\n66#2:665\n60#2:692\n66#2:703\n60#2:722\n66#2:728\n66#2:740\n66#2:747\n60#2:770\n66#2:776\n66#2:780\n66#2:792\n66#2:799\n66#2:806\n66#2:834\n66#2:836\n66#2:838\n66#2:840\n66#2:842\n66#2:844\n66#2:846\n66#2:848\n66#2:850\n*E\n*S KotlinDebug\n*F\n+ 1 Utf8.kt\nokio/Utf8\n*L\n225#1,9:552\n225#1:561\n225#1,18:563\n229#1,4:582\n229#1:586\n229#1,10:588\n229#1:598\n229#1,5:600\n229#1:605\n229#1,22:607\n233#1,4:630\n233#1:634\n233#1,2:636\n233#1:638\n233#1,10:640\n233#1:650\n233#1,5:652\n233#1:657\n233#1,5:659\n233#1:664\n233#1,26:666\n273#1,9:693\n273#1:702\n273#1,18:704\n277#1,4:723\n277#1:727\n277#1,10:729\n277#1:739\n277#1,5:741\n277#1:746\n277#1,22:748\n281#1,4:771\n281#1:775\n281#1,2:777\n281#1:779\n281#1,10:781\n281#1:791\n281#1,5:793\n281#1:798\n281#1,5:800\n281#1:805\n281#1,26:807\n401#1:833\n437#1:835\n449#1:837\n454#1:839\n495#1:841\n499#1:843\n511#1:845\n516#1:847\n521#1:849\n127#1:550\n223#1:551\n225#1:562\n227#1:581\n229#1:587\n229#1:599\n229#1:606\n231#1:629\n233#1:635\n233#1:639\n233#1:651\n233#1:658\n233#1:665\n271#1:692\n273#1:703\n275#1:722\n277#1:728\n277#1:740\n277#1:747\n279#1:770\n281#1:776\n281#1:780\n281#1:792\n281#1:799\n281#1:806\n401#1:834\n437#1:836\n449#1:838\n454#1:840\n495#1:842\n499#1:844\n511#1:846\n516#1:848\n521#1:850\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; bv = { 0x1, 0x0, 0x3 } d1 = { "\u0000D\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0005\n\u0002\u0010\u0005\n\u0000\n\u0002\u0010\u000c\n\u0002\u0008\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0004\n\u0002\u0010\u0012\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\u0008\u0004\n\u0002\u0010\u000e\n\u0002\u0008\u0002\n\u0002\u0010\t\n\u0002\u0008\u0002\u001a\u0011\u0010\u000b\u001a\u00020\u000c2\u0006\u0010\r\u001a\u00020\u0001H\u0080\u0008\u001a\u0011\u0010\u000e\u001a\u00020\u000c2\u0006\u0010\u000f\u001a\u00020\u0007H\u0080\u0008\u001a1\u0010\u0010\u001a\u00020\u0001*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u001a1\u0010\u0017\u001a\u00020\u0001*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u001a1\u0010\u0018\u001a\u00020\u0001*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u001a1\u0010\u0019\u001a\u00020\u0016*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\t\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u001a1\u0010\u001a\u001a\u00020\u0016*\u00020\u001b2\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0007\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u001a1\u0010\u001c\u001a\u00020\u0016*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u001a%\u0010\u001d\u001a\u00020\u001e*\u00020\u001b2\u0008\u0008\u0002\u0010\u0012\u001a\u00020\u00012\u0008\u0008\u0002\u0010\u0013\u001a\u00020\u0001H\u0007\u00a2\u0006\u0002\u0008\u001f\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0002\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0003\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0004\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0005\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0006\u001a\u00020\u0007X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0008\u001a\u00020\tX\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\n\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\u00a8\u0006 " } d2 = { "HIGH_SURROGATE_HEADER", "", "LOG_SURROGATE_HEADER", "MASK_2BYTES", "MASK_3BYTES", "MASK_4BYTES", "REPLACEMENT_BYTE", "", "REPLACEMENT_CHARACTER", "", "REPLACEMENT_CODE_POINT", "isIsoControl", "", "codePoint", "isUtf8Continuation", "byte", "process2Utf8Bytes", "", "beginIndex", "endIndex", "yield", "Lkotlin/Function1;", "", "process3Utf8Bytes", "process4Utf8Bytes", "processUtf16Chars", "processUtf8Bytes", "", "processUtf8CodePoints", "utf8Size", "", "size", "okio" } k = 0x2 mv = { 0x1, 0x1, 0x10 } .end annotation # static fields .field public static final HIGH_SURROGATE_HEADER:I = 0xd7c0 .field public static final LOG_SURROGATE_HEADER:I = 0xdc00 .field public static final MASK_2BYTES:I = 0xf80 .field public static final MASK_3BYTES:I = -0x1e080 .field public static final MASK_4BYTES:I = 0x381f80 .field public static final REPLACEMENT_BYTE:B = 0x3ft .field public static final REPLACEMENT_CHARACTER:C = '\ufffd' .field public static final REPLACEMENT_CODE_POINT:I = 0xfffd # direct methods .method public static final isIsoControl(I)Z .registers 2 if-ltz p0, :cond_6 const/16 v0, 0x1f if-ge v0, p0, :cond_f :cond_6 const/16 v0, 0x7f if-le v0, p0, :cond_b goto :goto_11 :cond_b const/16 v0, 0x9f if-lt v0, p0, :cond_11 :cond_f const/4 p0, 0x1 goto :goto_12 :cond_11 :goto_11 const/4 p0, 0x0 :goto_12 return p0 .end method .method public static final isUtf8Continuation(B)Z .registers 2 and-int/lit16 p0, p0, 0xc0 const/16 v0, 0x80 if-ne p0, v0, :cond_8 const/4 p0, 0x1 goto :goto_9 :cond_8 const/4 p0, 0x0 :goto_9 return p0 .end method .method public static final process2Utf8Bytes([BIILkotlin/jvm/functions/Function1;)I .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Integer;", "Lkotlin/Unit;", ">;)I" } .end annotation const-string v0, "$this$process2Utf8Bytes" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V add-int/lit8 v0, p1, 0x1 const v1, 0xfffd .line 394 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 const/4 v2, 0x1 if-gt p2, v0, :cond_1a invoke-interface {p3, v1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v2 .line 399 :cond_1a aget-byte p1, p0, p1 .line 400 aget-byte p0, p0, v0 and-int/lit16 p2, p0, 0xc0 const/16 v0, 0x80 if-ne p2, v0, :cond_38 xor-int/lit16 p0, p0, 0xf80 shl-int/lit8 p1, p1, 0x6 xor-int/2addr p0, p1 if-ge p0, v0, :cond_2f .line 413 invoke-interface {p3, v1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_36 .line 416 :cond_2f invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-interface {p3, p0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :goto_36 const/4 p0, 0x2 return p0 .line 402 :cond_38 invoke-interface {p3, v1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v2 .end method .method public static final process3Utf8Bytes([BIILkotlin/jvm/functions/Function1;)I .registers 10 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Integer;", "Lkotlin/Unit;", ">;)I" } .end annotation const-string v0, "$this$process3Utf8Bytes" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V add-int/lit8 v0, p1, 0x2 const/16 v1, 0x80 const/4 v2, 0x1 const v3, 0xfffd .line 436 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v3 const/4 v4, 0x2 if-gt p2, v0, :cond_27 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/2addr p1, v2 if-le p2, p1, :cond_26 .line 437 aget-byte p0, p0, p1 and-int/lit16 p0, p0, 0xc0 if-ne p0, v1, :cond_26 return v4 :cond_26 return v2 .line 447 :cond_27 aget-byte p2, p0, p1 add-int/2addr p1, v2 .line 448 aget-byte p1, p0, p1 and-int/lit16 v5, p1, 0xc0 if-ne v5, v1, :cond_64 .line 453 aget-byte p0, p0, v0 and-int/lit16 v0, p0, 0xc0 if-ne v0, v1, :cond_60 const v0, -0x1e080 xor-int/2addr p0, v0 shl-int/lit8 p1, p1, 0x6 xor-int/2addr p0, p1 shl-int/lit8 p1, p2, 0xc xor-int/2addr p0, p1 const/16 p1, 0x800 if-ge p0, p1, :cond_48 .line 467 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_5e :cond_48 const p1, 0xd800 if-le p1, p0, :cond_4e goto :goto_57 :cond_4e const p1, 0xdfff if-lt p1, p0, :cond_57 .line 470 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_5e .line 473 :cond_57 :goto_57 invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-interface {p3, p0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :goto_5e const/4 p0, 0x3 return p0 .line 455 :cond_60 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v4 .line 450 :cond_64 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v2 .end method .method public static final process4Utf8Bytes([BIILkotlin/jvm/functions/Function1;)I .registers 12 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Integer;", "Lkotlin/Unit;", ">;)I" } .end annotation const-string v0, "$this$process4Utf8Bytes" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V add-int/lit8 v0, p1, 0x3 const/4 v1, 0x2 const/4 v2, 0x1 const/16 v3, 0x80 const v4, 0xfffd .line 494 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 const/4 v5, 0x3 if-gt p2, v0, :cond_33 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p3, p1, 0x1 if-le p2, p3, :cond_32 .line 495 aget-byte p3, p0, p3 and-int/lit16 p3, p3, 0xc0 if-ne p3, v3, :cond_32 add-int/2addr p1, v1 if-le p2, p1, :cond_31 .line 499 aget-byte p0, p0, p1 and-int/lit16 p0, p0, 0xc0 if-ne p0, v3, :cond_31 return v5 :cond_31 return v1 :cond_32 return v2 .line 509 :cond_33 aget-byte p2, p0, p1 add-int/lit8 v6, p1, 0x1 .line 510 aget-byte v6, p0, v6 and-int/lit16 v7, v6, 0xc0 if-ne v7, v3, :cond_88 add-int/2addr p1, v1 .line 515 aget-byte p1, p0, p1 and-int/lit16 v2, p1, 0xc0 if-ne v2, v3, :cond_84 .line 520 aget-byte p0, p0, v0 and-int/lit16 v0, p0, 0xc0 if-ne v0, v3, :cond_80 const v0, 0x381f80 xor-int/2addr p0, v0 shl-int/lit8 p1, p1, 0x6 xor-int/2addr p0, p1 shl-int/lit8 p1, v6, 0xc xor-int/2addr p0, p1 shl-int/lit8 p1, p2, 0x12 xor-int/2addr p0, p1 const p1, 0x10ffff if-le p0, p1, :cond_60 .line 535 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_7e :cond_60 const p1, 0xd800 if-le p1, p0, :cond_66 goto :goto_6f :cond_66 const p1, 0xdfff if-lt p1, p0, :cond_6f .line 538 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_7e :cond_6f :goto_6f const/high16 p1, 0x10000 if-ge p0, p1, :cond_77 .line 541 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_7e .line 544 :cond_77 invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-interface {p3, p0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :goto_7e const/4 p0, 0x4 return p0 .line 522 :cond_80 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v5 .line 517 :cond_84 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v1 .line 512 :cond_88 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v2 .end method .method public static final processUtf16Chars([BIILkotlin/jvm/functions/Function1;)V .registers 15 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Character;", "Lkotlin/Unit;", ">;)V" } .end annotation const-string v0, "$this$processUtf16Chars" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V :cond_a :goto_a if-ge p1, p2, :cond_166 .line 258 aget-byte v0, p0, p1 if-ltz v0, :cond_2b int-to-char v0, v0 .line 262 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 :goto_1a if-ge p1, p2, :cond_a .line 267 aget-byte v0, p0, p1 if-ltz v0, :cond_a add-int/lit8 p1, p1, 0x1 int-to-char v0, v0 .line 268 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_1a :cond_2b shr-int/lit8 v1, v0, 0x5 const/4 v2, -0x2 const/4 v3, 0x2 const/16 v4, 0x80 const/4 v5, 0x1 const v6, 0xfffd if-ne v1, v2, :cond_5e add-int/lit8 v1, p1, 0x1 if-gt p2, v1, :cond_45 :cond_3b int-to-char v0, v6 .line 273 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :cond_43 :goto_43 move v3, v5 goto :goto_5c .line 700 :cond_45 aget-byte v1, p0, v1 and-int/lit16 v2, v1, 0xc0 if-ne v2, v4, :cond_3b xor-int/lit16 v1, v1, 0xf80 shl-int/lit8 v0, v0, 0x6 xor-int/2addr v0, v1 if-ge v0, v4, :cond_54 int-to-char v0, v6 goto :goto_55 :cond_54 int-to-char v0, v0 .line 273 :goto_55 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :cond_5c :goto_5c add-int/2addr p1, v3 goto :goto_a :cond_5e shr-int/lit8 v1, v0, 0x4 const v7, 0xd800 const v8, 0xdfff const/4 v9, 0x3 if-ne v1, v2, :cond_c1 add-int/lit8 v1, p1, 0x2 if-gt p2, v1, :cond_80 int-to-char v0, v6 .line 277 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v0, p1, 0x1 if-le p2, v0, :cond_43 .line 726 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_43 goto :goto_5c :cond_80 add-int/lit8 v2, p1, 0x1 .line 737 aget-byte v2, p0, v2 and-int/lit16 v10, v2, 0xc0 if-ne v10, v4, :cond_b8 .line 744 aget-byte v1, p0, v1 and-int/lit16 v5, v1, 0xc0 if-ne v5, v4, :cond_af const v3, -0x1e080 xor-int/2addr v1, v3 shl-int/lit8 v2, v2, 0x6 xor-int/2addr v1, v2 shl-int/lit8 v0, v0, 0xc xor-int/2addr v0, v1 const/16 v1, 0x800 if-ge v0, v1, :cond_a5 :goto_9c int-to-char v0, v6 .line 277 :goto_9d invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_ad :cond_a5 if-le v7, v0, :cond_a8 goto :goto_ab :cond_a8 if-lt v8, v0, :cond_ab goto :goto_9c :cond_ab :goto_ab int-to-char v0, v0 goto :goto_9d :goto_ad move v3, v9 goto :goto_5c :cond_af int-to-char v0, v6 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_5c :cond_b8 int-to-char v0, v6 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_43 :cond_c1 shr-int/lit8 v1, v0, 0x3 if-ne v1, v2, :cond_15b add-int/lit8 v1, p1, 0x3 if-gt p2, v1, :cond_e5 .line 291 invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v0, p1, 0x1 if-le p2, v0, :cond_43 .line 774 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_43 add-int/lit8 v0, p1, 0x2 if-le p2, v0, :cond_5c .line 778 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_5c :goto_e4 goto :goto_ad :cond_e5 add-int/lit8 v2, p1, 0x1 .line 789 aget-byte v2, p0, v2 and-int/lit16 v10, v2, 0xc0 if-ne v10, v4, :cond_152 add-int/lit8 v5, p1, 0x2 .line 796 aget-byte v5, p0, v5 and-int/lit16 v10, v5, 0xc0 if-ne v10, v4, :cond_149 .line 803 aget-byte v1, p0, v1 and-int/lit16 v3, v1, 0xc0 if-ne v3, v4, :cond_141 const v3, 0x381f80 xor-int/2addr v1, v3 shl-int/lit8 v3, v5, 0x6 xor-int/2addr v1, v3 shl-int/lit8 v2, v2, 0xc xor-int/2addr v1, v2 shl-int/lit8 v0, v0, 0x12 xor-int/2addr v0, v1 const v1, 0x10ffff if-le v0, v1, :cond_115 .line 291 :cond_10d :goto_10d invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_13e :cond_115 if-le v7, v0, :cond_118 goto :goto_11b :cond_118 if-lt v8, v0, :cond_11b goto :goto_10d :cond_11b :goto_11b const/high16 v1, 0x10000 if-ge v0, v1, :cond_120 goto :goto_10d :cond_120 if-eq v0, v6, :cond_10d ushr-int/lit8 v1, v0, 0xa const v2, 0xd7c0 add-int/2addr v1, v2 int-to-char v1, v1 .line 287 invoke-static {v1}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v1 invoke-interface {p3, v1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; and-int/lit16 v0, v0, 0x3ff const v1, 0xdc00 add-int/2addr v0, v1 int-to-char v0, v0 .line 289 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :goto_13e const/4 v3, 0x4 goto/16 :goto_5c .line 291 :cond_141 invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_e4 :cond_149 invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_5c :cond_152 invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_43 .line 298 :cond_15b invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 goto/16 :goto_a :cond_166 return-void .end method .method public static final processUtf8Bytes(Ljava/lang/String;IILkotlin/jvm/functions/Function1;)V .registers 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "II", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Byte;", "Lkotlin/Unit;", ">;)V" } .end annotation const-string v0, "$this$processUtf8Bytes" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V :cond_a :goto_a if-ge p1, p2, :cond_e0 .line 140 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result v0 const/16 v1, 0x80 if-ge v0, v1, :cond_36 int-to-byte v0, v0 .line 145 invoke-static {v0}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 :goto_1e if-ge p1, p2, :cond_a .line 149 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result v0 if-ge v0, v1, :cond_a add-int/lit8 v0, p1, 0x1 .line 150 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result p1 int-to-byte p1, p1 invoke-static {p1}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object p1 invoke-interface {p3, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; move p1, v0 goto :goto_1e :cond_36 const/16 v2, 0x800 if-ge v0, v2, :cond_54 shr-int/lit8 v2, v0, 0x6 or-int/lit16 v2, v2, 0xc0 int-to-byte v2, v2 .line 157 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; and-int/lit8 v0, v0, 0x3f or-int/2addr v0, v1 int-to-byte v0, v0 .line 158 invoke-static {v0}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :goto_51 add-int/lit8 p1, p1, 0x1 goto :goto_a :cond_54 const v2, 0xd800 const/16 v3, 0x3f if-gt v2, v0, :cond_bb const v2, 0xdfff if-ge v2, v0, :cond_61 goto :goto_bb :cond_61 const v4, 0xdbff if-gt v0, v4, :cond_b3 add-int/lit8 v4, p1, 0x1 if-le p2, v4, :cond_b3 .line 179 invoke-virtual {p0, v4}, Ljava/lang/String;->charAt(I)C move-result v5 const v6, 0xdc00 if-gt v6, v5, :cond_b3 if-ge v2, v5, :cond_76 goto :goto_b3 :cond_76 shl-int/lit8 v0, v0, 0xa .line 186 invoke-virtual {p0, v4}, Ljava/lang/String;->charAt(I)C move-result v2 add-int/2addr v0, v2 const v2, -0x35fdc00 add-int/2addr v0, v2 shr-int/lit8 v2, v0, 0x12 or-int/lit16 v2, v2, 0xf0 int-to-byte v2, v2 .line 191 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; shr-int/lit8 v2, v0, 0xc and-int/2addr v2, v3 or-int/2addr v2, v1 int-to-byte v2, v2 .line 192 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; shr-int/lit8 v2, v0, 0x6 and-int/2addr v2, v3 or-int/2addr v2, v1 int-to-byte v2, v2 .line 193 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; and-int/2addr v0, v3 or-int/2addr v0, v1 int-to-byte v0, v0 .line 194 invoke-static {v0}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x2 goto/16 :goto_a .line 180 :cond_b3 :goto_b3 invoke-static {v3}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_51 :cond_bb :goto_bb shr-int/lit8 v2, v0, 0xc or-int/lit16 v2, v2, 0xe0 int-to-byte v2, v2 .line 166 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; shr-int/lit8 v2, v0, 0x6 and-int/2addr v2, v3 or-int/2addr v2, v1 int-to-byte v2, v2 .line 167 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; and-int/lit8 v0, v0, 0x3f or-int/2addr v0, v1 int-to-byte v0, v0 .line 168 invoke-static {v0}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_51 :cond_e0 return-void .end method .method public static final processUtf8CodePoints([BIILkotlin/jvm/functions/Function1;)V .registers 15 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Integer;", "Lkotlin/Unit;", ">;)V" } .end annotation const-string v0, "$this$processUtf8CodePoints" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V :cond_a :goto_a if-ge p1, p2, :cond_14b .line 211 aget-byte v0, p0, p1 if-ltz v0, :cond_29 .line 215 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 :goto_19 if-ge p1, p2, :cond_a .line 219 aget-byte v0, p0, p1 if-ltz v0, :cond_a add-int/lit8 p1, p1, 0x1 .line 220 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_19 :cond_29 shr-int/lit8 v1, v0, 0x5 const/4 v2, -0x2 const/4 v3, 0x2 const/16 v4, 0x80 const/4 v5, 0x1 const v6, 0xfffd if-ne v1, v2, :cond_5d add-int/lit8 v1, p1, 0x1 if-gt p2, v1, :cond_42 .line 225 :cond_39 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :cond_40 :goto_40 move v3, v5 goto :goto_5b .line 559 :cond_42 aget-byte v1, p0, v1 and-int/lit16 v2, v1, 0xc0 if-ne v2, v4, :cond_39 xor-int/lit16 v1, v1, 0xf80 shl-int/lit8 v0, v0, 0x6 xor-int/2addr v0, v1 if-ge v0, v4, :cond_54 .line 225 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 goto :goto_58 :cond_54 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 :goto_58 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :cond_5b :goto_5b add-int/2addr p1, v3 goto :goto_a :cond_5d shr-int/lit8 v1, v0, 0x4 const v7, 0xd800 const v8, 0xdfff const/4 v9, 0x3 if-ne v1, v2, :cond_bf add-int/lit8 v1, p1, 0x2 if-gt p2, v1, :cond_7e .line 229 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v0, p1, 0x1 if-le p2, v0, :cond_40 .line 585 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_40 goto :goto_5b :cond_7e add-int/lit8 v2, p1, 0x1 .line 596 aget-byte v2, p0, v2 and-int/lit16 v10, v2, 0xc0 if-ne v10, v4, :cond_b7 .line 603 aget-byte v1, p0, v1 and-int/lit16 v5, v1, 0xc0 if-ne v5, v4, :cond_af const v3, -0x1e080 xor-int/2addr v1, v3 shl-int/lit8 v2, v2, 0x6 xor-int/2addr v1, v2 shl-int/lit8 v0, v0, 0xc xor-int/2addr v0, v1 const/16 v1, 0x800 if-ge v0, v1, :cond_a2 .line 229 :goto_9a invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 :goto_9e invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_ad :cond_a2 if-le v7, v0, :cond_a5 goto :goto_a8 :cond_a5 if-lt v8, v0, :cond_a8 goto :goto_9a :cond_a8 :goto_a8 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 goto :goto_9e :goto_ad move v3, v9 goto :goto_5b :cond_af invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_5b :cond_b7 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_40 :cond_bf shr-int/lit8 v1, v0, 0x3 if-ne v1, v2, :cond_140 add-int/lit8 v1, p1, 0x3 if-gt p2, v1, :cond_e3 .line 233 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v0, p1, 0x1 if-le p2, v0, :cond_40 .line 633 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_40 add-int/lit8 v0, p1, 0x2 if-le p2, v0, :cond_5b .line 637 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_5b :goto_e2 goto :goto_ad :cond_e3 add-int/lit8 v2, p1, 0x1 .line 648 aget-byte v2, p0, v2 and-int/lit16 v10, v2, 0xc0 if-ne v10, v4, :cond_137 add-int/lit8 v5, p1, 0x2 .line 655 aget-byte v5, p0, v5 and-int/lit16 v10, v5, 0xc0 if-ne v10, v4, :cond_12e .line 662 aget-byte v1, p0, v1 and-int/lit16 v3, v1, 0xc0 if-ne v3, v4, :cond_126 const v3, 0x381f80 xor-int/2addr v1, v3 shl-int/lit8 v3, v5, 0x6 xor-int/2addr v1, v3 shl-int/lit8 v2, v2, 0xc xor-int/2addr v1, v2 shl-int/lit8 v0, v0, 0x12 xor-int/2addr v0, v1 const v1, 0x10ffff if-le v0, v1, :cond_113 .line 233 :goto_10b invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 :goto_10f invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_123 :cond_113 if-le v7, v0, :cond_116 goto :goto_119 :cond_116 if-lt v8, v0, :cond_119 goto :goto_10b :cond_119 :goto_119 const/high16 v1, 0x10000 if-ge v0, v1, :cond_11e goto :goto_10b :cond_11e invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 goto :goto_10f :goto_123 const/4 v3, 0x4 goto/16 :goto_5b :cond_126 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_e2 :cond_12e invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_5b :cond_137 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_40 .line 238 :cond_140 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 goto/16 :goto_a :cond_14b return-void .end method .method public static final size(Ljava/lang/String;)J .registers 4 const/4 v0, 0x3 const/4 v1, 0x0 const/4 v2, 0x0 invoke-static {p0, v2, v2, v0, v1}, Lokio/Utf8;->size$default(Ljava/lang/String;IIILjava/lang/Object;)J move-result-wide v0 return-wide v0 .end method .method public static final size(Ljava/lang/String;I)J .registers 5 const/4 v0, 0x2 const/4 v1, 0x0 const/4 v2, 0x0 invoke-static {p0, p1, v2, v0, v1}, Lokio/Utf8;->size$default(Ljava/lang/String;IIILjava/lang/Object;)J move-result-wide p0 return-wide p0 .end method .method public static final size(Ljava/lang/String;II)J .registers 13 const-string v0, "$this$utf8Size" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/4 v0, 0x0 const/4 v1, 0x1 if-ltz p1, :cond_b move v2, v1 goto :goto_c :cond_b move v2, v0 :goto_c if-eqz v2, :cond_b5 if-lt p2, p1, :cond_12 move v2, v1 goto :goto_13 :cond_12 move v2, v0 :goto_13 if-eqz v2, :cond_90 .line 80 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v2 if-gt p2, v2, :cond_1c goto :goto_1d :cond_1c move v1, v0 :goto_1d if-eqz v1, :cond_67 const-wide/16 v1, 0x0 :goto_21 if-ge p1, p2, :cond_66 .line 85 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result v3 const/16 v4, 0x80 const-wide/16 v5, 0x1 if-ge v3, v4, :cond_31 add-long/2addr v1, v5 :goto_2e add-int/lit8 p1, p1, 0x1 goto :goto_21 :cond_31 const/16 v4, 0x800 if-ge v3, v4, :cond_39 const/4 v3, 0x2 :goto_36 int-to-long v3, v3 add-long/2addr v1, v3 goto :goto_2e :cond_39 const v4, 0xd800 if-lt v3, v4, :cond_64 const v4, 0xdfff if-le v3, v4, :cond_44 goto :goto_64 :cond_44 add-int/lit8 v7, p1, 0x1 if-ge v7, p2, :cond_4d .line 100 invoke-virtual {p0, v7}, Ljava/lang/String;->charAt(I)C move-result v8 goto :goto_4e :cond_4d move v8, v0 :goto_4e const v9, 0xdbff if-gt v3, v9, :cond_61 const v3, 0xdc00 if-lt v8, v3, :cond_61 if-le v8, v4, :cond_5b goto :goto_61 :cond_5b const/4 v3, 0x4 int-to-long v3, v3 add-long/2addr v1, v3 add-int/lit8 p1, p1, 0x2 goto :goto_21 :cond_61 :goto_61 add-long/2addr v1, v5 move p1, v7 goto :goto_21 :cond_64 :goto_64 const/4 v3, 0x3 goto :goto_36 :cond_66 return-wide v1 .line 80 :cond_67 new-instance p1, Ljava/lang/StringBuilder; const-string v0, "endIndex > string.length: " invoke-direct {p1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string p2, " > " invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result p0 invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 new-instance p1, Ljava/lang/IllegalArgumentException; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V check-cast p1, Ljava/lang/Throwable; throw p1 .line 79 :cond_90 new-instance p0, Ljava/lang/StringBuilder; const-string v0, "endIndex < beginIndex: " invoke-direct {p0, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 const-string p2, " < " invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 new-instance p1, Ljava/lang/IllegalArgumentException; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V check-cast p1, Ljava/lang/Throwable; throw p1 .line 78 :cond_b5 new-instance p0, Ljava/lang/StringBuilder; const-string p2, "beginIndex < 0: " invoke-direct {p0, p2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 new-instance p1, Ljava/lang/IllegalArgumentException; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V check-cast p1, Ljava/lang/Throwable; throw p1 .end method .method public static synthetic size$default(Ljava/lang/String;IIILjava/lang/Object;)J .registers 5 and-int/lit8 p4, p3, 0x1 if-eqz p4, :cond_5 const/4 p1, 0x0 :cond_5 and-int/lit8 p3, p3, 0x2 if-eqz p3, :cond_d .line 77 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result p2 :cond_d invoke-static {p0, p1, p2}, Lokio/Utf8;->size(Ljava/lang/String;II)J move-result-wide p0 return-wide p0 .end method