// File: ChanTsune[P]py_string/./py_string.hpp
// Function: py::basic_string<char> py::basic_string<char>::_format<0ul, int, char const*, int>(py::basic_string<char>&, int, char const*, int) const
basic_string<_Elme> _format(basic_string<_Elme> &_Str, Head head,
                              Tail... tail) const // format_numbaring
  {
    basic_string<_Elme> str;
    std::smatch sub;
    std::regex num_match(std::string("\\{") + std::to_string(N)
                         + std::string("(![^:])?(:(.+?)?)?\\}"));
    while (std::regex_search(_Str, sub, num_match)) {
      format_parser::format(sub.str(4), head, str);
      _Str = _Str.pyreplace(sub.str(0), str);
    }
    return this->_format<N + 1>(_Str, std::move(tail)...);
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
movq %rdi, -0x208(%rbp)
movq %rdi, %rax
movq %rax, -0x200(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x1f8(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x2bf10
leaq -0x70(%rbp), %rdi
callq 0x2c890
jmp 0x2c412
leaq -0x101(%rbp), %rdi
movq %rdi, -0x210(%rbp)
callq 0x67f0
movq -0x210(%rbp), %rdx
leaq 0x11792(%rip), %rsi     # 0x3dbc5
leaq -0x100(%rbp), %rdi
callq 0x6670
jmp 0x2c441
xorl %eax, %eax
movl %eax, %esi
leaq -0x128(%rbp), %rdi
callq 0x38a20
jmp 0x2c453
leaq -0xe0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
leaq -0x128(%rbp), %rdx
callq 0x37d10
jmp 0x2c46f
leaq -0x149(%rbp), %rdi
movq %rdi, -0x218(%rbp)
callq 0x67f0
movq -0x218(%rbp), %rdx
leaq 0x116c7(%rip), %rsi     # 0x3db57
leaq -0x148(%rbp), %rdi
callq 0x6670
jmp 0x2c49e
leaq -0xc0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0x148(%rbp), %rdx
callq 0x37d10
jmp 0x2c4ba
leaq -0xa0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
movl $0x10, %edx
callq 0x38b00
jmp 0x2c4d4
leaq -0xc0(%rbp), %rdi
callq 0x62d0
leaq -0x148(%rbp), %rdi
callq 0x62d0
leaq -0x149(%rbp), %rdi
callq 0x6510
leaq -0xe0(%rbp), %rdi
callq 0x62d0
leaq -0x128(%rbp), %rdi
callq 0x62d0
leaq -0x100(%rbp), %rdi
callq 0x62d0
leaq -0x101(%rbp), %rdi
callq 0x6510
movq -0x18(%rbp), %rdi
leaq -0x70(%rbp), %rsi
leaq -0xa0(%rbp), %rdx
xorl %ecx, %ecx
callq 0x34250
movb %al, -0x219(%rbp)
jmp 0x2c546
movb -0x219(%rbp), %al
testb $0x1, %al
jne 0x2c555
jmp 0x2c780
leaq -0x170(%rbp), %rdi
leaq -0x70(%rbp), %rsi
movl $0x4, %edx
callq 0x35000
jmp 0x2c56c
movl -0x1c(%rbp), %esi
leaq -0x170(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0x342b0
jmp 0x2c581
leaq -0x170(%rbp), %rdi
callq 0x62d0
movq -0x18(%rbp), %rax
movq %rax, -0x228(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x1d0(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x35000
jmp 0x2c5ae
leaq -0x1b0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x35050
jmp 0x2c5c3
leaq -0x1f0(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xa560
jmp 0x2c5d5
callq 0x86e0
movq -0x228(%rbp), %rsi
movq %rax, %r8
leaq -0x190(%rbp), %rdi
leaq -0x1b0(%rbp), %rdx
leaq -0x1f0(%rbp), %rcx
callq 0x8580
jmp 0x2c600
movq -0x18(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x35080
leaq -0x190(%rbp), %rdi
callq 0x7db0
leaq -0x1f0(%rbp), %rdi
callq 0x7db0
leaq -0x1b0(%rbp), %rdi
callq 0x7db0
leaq -0x1d0(%rbp), %rdi
callq 0x62d0
jmp 0x2c528
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c7e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c6f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c6e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c6db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c6c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c6b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x62d0
leaq -0x148(%rbp), %rdi
callq 0x62d0
leaq -0x149(%rbp), %rdi
callq 0x6510
leaq -0xe0(%rbp), %rdi
callq 0x62d0
leaq -0x128(%rbp), %rdi
callq 0x62d0
leaq -0x100(%rbp), %rdi
callq 0x62d0
leaq -0x101(%rbp), %rdi
callq 0x6510
jmp 0x2c7db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c7cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x62d0
jmp 0x2c7cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c772
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x2c766
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x7db0
leaq -0x1b0(%rbp), %rdi
callq 0x7db0
leaq -0x1d0(%rbp), %rdi
callq 0x62d0
jmp 0x2c7cf
movq -0x1f8(%rbp), %rsi
movq -0x208(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x28(%rbp), %rcx
movl -0x2c(%rbp), %r8d
callq 0x38bb0
jmp 0x2c7a1
leaq -0xa0(%rbp), %rdi
callq 0x7c40
leaq -0x70(%rbp), %rdi
callq 0x2c920
leaq -0x50(%rbp), %rdi
callq 0x7db0
movq -0x200(%rbp), %rax
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
leaq -0xa0(%rbp), %rdi
callq 0x7c40
leaq -0x70(%rbp), %rdi
callq 0x2c920
leaq -0x50(%rbp), %rdi
callq 0x7db0
movq -0x78(%rbp), %rdi
callq 0x67e0
nopw %cs:(%rax,%rax)