// File: /workspace/github_cpp_makefile_star2_O2/Falldog[P]dcinja/src/include/nlohmann/json.hpp
// Function: nlohmann::json_pointer<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char>>>>::array_index(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
static typename BasicJsonType::size_type array_index(const std::string& s)
    {
        using size_type = typename BasicJsonType::size_type;

        // error condition (cf. RFC 6901, Sect. 4)
        if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && s[0] == '0'))
        {
            JSON_THROW(detail::parse_error::create(106, 0,
                                                   "array index '" + s +
                                                   "' must not begin with '0'"));
        }

        // error condition (cf. RFC 6901, Sect. 4)
        if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9')))
        {
            JSON_THROW(detail::parse_error::create(109, 0, "array index '" + s + "' is not a number"));
        }

        std::size_t processed_chars = 0;
        unsigned long long res = 0;
        JSON_TRY
        {
            res = std::stoull(s, &processed_chars);
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %r15
cmpq $0x2, 0x8(%rdi)
jb 0x29468
movq (%r15), %rax
movb (%rax), %al
cmpb $0x30, %al
je 0x294ff
addb $-0x3a, %al
cmpb $-0xa, %al
ja 0x29468
pushq $0x28
popq %rdi
callq 0x9200
movq %rax, %r14
leaq 0x2072d(%rip), %rsi     # 0x49b44
movq %rsp, %rdi
movq %r15, %rdx
callq 0xfdb9
leaq 0x20743(%rip), %rdx     # 0x49b6c
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x1093d
movb $0x1, %bpl
pushq $0x6d
popq %rsi
leaq 0x20(%rsp), %rcx
movq %r14, %rdi
xorl %edx, %edx
callq 0x255e8
xorl %ebp, %ebp
leaq 0x47bfc(%rip), %rsi     # 0x71050
leaq -0x7a05(%rip), %rdx     # 0x21a56
movq %r14, %rdi
callq 0x9760
jmp 0x29646
leaq 0x40(%rsp), %rsi
andq $0x0, (%rsi)
pushq $0xa
popq %rdx
movq %r15, %rdi
callq 0x297ce
movq 0x40(%rsp), %rcx
cmpq 0x8(%r15), %rcx
jne 0x2949c
cmpq $-0x1, %rax
je 0x29562
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x20
popq %rdi
callq 0x9200
movq %rax, %r14
leaq 0x206d0(%rip), %rsi     # 0x49b7e
movq %rsp, %rdi
movq %r15, %rdx
callq 0xfdb9
leaq 0x1f96e(%rip), %rdx     # 0x48e2e
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x1093d
movb $0x1, %bpl
leaq 0x20(%rsp), %rdx
movq %r14, %rdi
movl $0x194, %esi            # imm = 0x194
callq 0x1ed9e
xorl %ebp, %ebp
leaq 0x47a7d(%rip), %rsi     # 0x70f68
leaq -0x7a9c(%rip), %rdx     # 0x21a56
movq %r14, %rdi
callq 0x9760
jmp 0x29646
pushq $0x28
popq %rdi
callq 0x9200
movq %rax, %r14
leaq 0x20633(%rip), %rsi     # 0x49b44
movq %rsp, %rdi
movq %r15, %rdx
callq 0xfdb9
leaq 0x2062f(%rip), %rdx     # 0x49b52
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x1093d
movb $0x1, %bpl
pushq $0x6a
popq %rsi
leaq 0x20(%rsp), %rcx
movq %r14, %rdi
xorl %edx, %edx
callq 0x255e8
xorl %ebp, %ebp
leaq 0x47b02(%rip), %rsi     # 0x71050
leaq -0x7aff(%rip), %rdx     # 0x21a56
movq %r14, %rdi
callq 0x9760
jmp 0x29646
pushq $0x20
popq %rdi
callq 0x9200
movq %rax, %r14
leaq 0x20627(%rip), %rsi     # 0x49b9b
movq %rsp, %rdi
movq %r15, %rdx
callq 0xfdb9
leaq 0x20622(%rip), %rdx     # 0x49ba8
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x1093d
movb $0x1, %bpl
leaq 0x20(%rsp), %rdx
movq %r14, %rdi
movl $0x19a, %esi            # imm = 0x19A
callq 0x1ed9e
xorl %ebp, %ebp
leaq 0x479b7(%rip), %rsi     # 0x70f68
leaq -0x7b62(%rip), %rdx     # 0x21a56
movq %r14, %rdi
callq 0x9760
jmp 0x29646
jmp 0x29690
jmp 0x2969f
jmp 0x296b4
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x296bf
movq %rbx, %rdi
callq 0x9170
pushq $0x20
popq %rdi
callq 0x9200
movq %rax, %r14
leaq 0x20584(%rip), %rsi     # 0x49b7e
movq %rsp, %rdi
movq %r15, %rdx
callq 0xfdb9
leaq 0x1f822(%rip), %rdx     # 0x48e2e
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x1093d
movb $0x1, %bpl
leaq 0x20(%rsp), %rdx
movq %r14, %rdi
movl $0x194, %esi            # imm = 0x194
callq 0x1ed9e
xorl %ebp, %ebp
leaq 0x47931(%rip), %rsi     # 0x70f68
leaq -0x7be8(%rip), %rdx     # 0x21a56
movq %r14, %rdi
callq 0x9760
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x9898
jmp 0x2965b
movq %rax, %rbx
movb $0x1, %bpl
movq %rsp, %rdi
callq 0x9898
testb %bpl, %bpl
jne 0x2966d
jmp 0x29675
movq %rax, %rbx
movq %r14, %rdi
callq 0x9320
callq 0x9730
jmp 0x296bf
movq %rax, %rdi
callq 0xc99e
jmp 0x29690
jmp 0x2969f
jmp 0x29690
jmp 0x2969f
jmp 0x296b4
jmp 0x296b4
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x9898
jmp 0x296a5
movq %rax, %rbx
movb $0x1, %bpl
movq %rsp, %rdi
callq 0x9898
testb %bpl, %bpl
jne 0x296b7
jmp 0x296bf
movq %rax, %rbx
movq %r14, %rdi
callq 0x9320
movq %rbx, %rdi
callq 0x97a0
nop