// File: /workspace/github_cpp_makefile_star2_O1/tokuhirom[P]nanouri/t/04_unescape.cc
// Function: main
int main() {
    is_binary(nanouri::unescape_uri(std::string("hello%01%02")), std::string("hello\x01\x02"), "escape");
    is(nanouri::unescape_uri(std::string("hello%01%02")), std::string("hello\x01\x02"), "escape");

    is_binary(nanouri::unescape_uri(std::string("hi%ff")), std::string("hi\xff"), "escape");

    done_testing();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa0, %rsp
leaq 0x50(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x138e(%rip), %rsi      # 0x4058
leaq 0x1392(%rip), %rdx      # 0x4063
leaq 0x40(%rsp), %rdi
callq 0x3092
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
callq 0x2500
leaq 0x30(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x136b(%rip), %rsi      # 0x4064
leaq 0x136b(%rip), %rdx      # 0x406b
leaq 0x20(%rsp), %rdi
callq 0x3092
leaq 0x135b(%rip), %rdx      # 0x406c
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x2a28
movq 0x20(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d35
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2120
leaq 0x10(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x2d50
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x2d67
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2120
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x12e4(%rip), %rsi      # 0x4058
leaq 0x12e8(%rip), %rdx      # 0x4063
callq 0x3092
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0x2500
leaq 0x70(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x12c4(%rip), %rsi      # 0x4064
leaq 0x12c4(%rip), %rdx      # 0x406b
leaq 0x60(%rsp), %rdi
callq 0x3092
leaq 0x12b4(%rip), %rdx      # 0x406c
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x2796
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x2de1
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x2120
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2e02
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2120
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2e18
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
leaq 0x40(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x124c(%rip), %rsi      # 0x4073
leaq 0x124a(%rip), %rdx      # 0x4078
callq 0x3092
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
callq 0x2500
leaq 0x20(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x122a(%rip), %rsi      # 0x4079
leaq 0x1226(%rip), %rdx      # 0x407c
callq 0x3092
leaq 0x120a(%rip), %rdx      # 0x406c
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x2a28
movq 0x20(%rsp), %rdi
cmpq %r12, %rdi
je 0x2e86
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2120
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2e9c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x2eb3
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2120
movl 0x324b(%rip), %esi      # 0x6104
leaq 0x115d(%rip), %rdi      # 0x401d
xorl %eax, %eax
callq 0x2040
xorl %edi, %edi
callq 0x2150
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r12, %rdi
je 0x2eed
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2120
jmp 0x2eed
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
jne 0x2f8d
jmp 0x2f9f
jmp 0x2f9c
jmp 0x2fb8
movq %rax, %rbx
movq 0x60(%rsp), %rdi
cmpq %r13, %rdi
je 0x2f28
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x2120
jmp 0x2f28
movq %rax, %rbx
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2f4e
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2120
jmp 0x2f4e
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2fbb
movq 0x10(%rsp), %rsi
jmp 0x2fae
jmp 0x2fb8
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r12, %rdi
je 0x2f7f
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2120
jmp 0x2f7f
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2f9f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2120
jmp 0x2f9f
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x2fbb
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2120
jmp 0x2fbb
movq %rax, %rbx
movq %rbx, %rdi
callq 0x21b0
nop