// File: hirakuni45[P]input_class/./input.hpp
// Function: utils::basic_input<utils::def_chainp>::next_()
void next_() noexcept
		{
			enum class fmm : uint8_t {
				none,
				type,
			};
			fmm cm = fmm::none;

			char ch;
			bool esc = false;
			while((ch = *form_++) != 0) {
				switch(cm) {
				case fmm::none:
					if(esc) {
						esc = false;
						if(ch != inp_()) {
							error_ = error::partition;
							return;
						}
						break;
					}
					if(ch == '\\') {
						esc = true;
					} else if(ch == '[') {
						auto a = inp_();
						const char* p = form_;
						bool ok = false;
						while((ch = *p++) != 0 && ch != ']') {
							if(ch == a) ok = true;
						}
						if(ch == 0) --p;
						form_ = p;
						if(!ok) {
							error_ = error::cha_sets;
							return;
						}
					} else if(ch == '%' && *form_ != '%') {
						cm = fmm::type;
						nbc_ = 0;
					} else if(ch != inp_()) {
						error_ = error::partition;
						return;
					}
					break;

				case fmm::type:
					if(ch >= 'a') ch -= 0x20;
					if(ch >= '0' && ch <= '9') {
						nbc_ *= 10;
						nbc_ += ch - '0';
					} else if(ch == 'B') {
						mode_ = mode::BIN;
						return;
					} else if(ch == 'O') {
						mode_ = mode::OCT;
						return;
					} else if(ch == 'D') {
						mode_ = mode::DEC;
						return;
					} else if(ch == 'X') {
						mode_ = mode::HEX;
						return;
					} else if(ch == 'F') {
						mode_ = mode::REAL;
						return;
					} else if(ch == 'C') {
						mode_ = mode::CHA;
						return;
					} else if(ch == 'A') {
						mode_ = mode::AUTO;
						return;
					} else {
						error_ = error::input_type;
						return;
					}
				}
			}
			if(ch == 0 && inp_() == 0) {

			} else {
				error_ = error::terminate;
			}
		}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x20(%rsp)
movb $0x0, 0x3f(%rsp)
movb $0x0, 0x3d(%rsp)
movq 0x20(%rsp), %rcx
movq (%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, (%rcx)
movb (%rax), %al
movb %al, 0x3e(%rsp)
movsbl %al, %eax
cmpl $0x0, %eax
je 0x170d9
movb 0x3f(%rsp), %al
movb %al, 0x1f(%rsp)
testb %al, %al
je 0x16e40
jmp 0x16e2f
movb 0x1f(%rsp), %al
subb $0x1, %al
je 0x16fd9
jmp 0x170d4
testb $0x1, 0x3d(%rsp)
je 0x16e8b
movq 0x20(%rsp), %rdi
movb $0x0, 0x3d(%rsp)
movsbl 0x3e(%rsp), %eax
movl %eax, 0x18(%rsp)
addq $0x8, %rdi
callq 0x17120
movb %al, 0x1e(%rsp)
jmp 0x16e69
movl 0x18(%rsp), %eax
movb 0x1e(%rsp), %cl
movsbl %cl, %ecx
cmpl %ecx, %eax
je 0x16e86
movq 0x20(%rsp), %rax
movb $0x2, 0x19(%rax)
jmp 0x1710e
jmp 0x170d4
movsbl 0x3e(%rsp), %eax
cmpl $0x5c, %eax
jne 0x16e9f
movb $0x1, 0x3d(%rsp)
jmp 0x16fd4
movsbl 0x3e(%rsp), %eax
cmpl $0x5b, %eax
jne 0x16f6a
movq 0x20(%rsp), %rdi
addq $0x8, %rdi
callq 0x17120
movb %al, 0x17(%rsp)
jmp 0x16ec1
movq 0x20(%rsp), %rax
movb 0x17(%rsp), %cl
movb %cl, 0x3c(%rsp)
movq (%rax), %rax
movq %rax, 0x30(%rsp)
movb $0x0, 0x2f(%rsp)
movq 0x30(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x30(%rsp)
movb (%rax), %al
movb %al, 0x3e(%rsp)
movsbl %al, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, 0x16(%rsp)
je 0x16f0f
movsbl 0x3e(%rsp), %eax
cmpl $0x5d, %eax
setne %al
movb %al, 0x16(%rsp)
movb 0x16(%rsp), %al
testb $0x1, %al
jne 0x16f19
jmp 0x16f2e
movsbl 0x3e(%rsp), %eax
movsbl 0x3c(%rsp), %ecx
cmpl %ecx, %eax
jne 0x16f2c
movb $0x1, 0x2f(%rsp)
jmp 0x16edb
movsbl 0x3e(%rsp), %eax
cmpl $0x0, %eax
jne 0x16f46
movq 0x30(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x30(%rsp)
movq 0x20(%rsp), %rax
movq 0x30(%rsp), %rcx
movq %rcx, (%rax)
testb $0x1, 0x2f(%rsp)
jne 0x16f68
movq 0x20(%rsp), %rax
movb $0x1, 0x19(%rax)
jmp 0x1710e
jmp 0x16fd2
movsbl 0x3e(%rsp), %eax
cmpl $0x25, %eax
jne 0x16f94
movq 0x20(%rsp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x25, %eax
je 0x16f94
movq 0x20(%rsp), %rax
movb $0x1, 0x3f(%rsp)
movb $0x0, 0x1a(%rax)
jmp 0x16fd0
movq 0x20(%rsp), %rdi
movsbl 0x3e(%rsp), %eax
movl %eax, 0x10(%rsp)
addq $0x8, %rdi
callq 0x17120
movb %al, 0x15(%rsp)
jmp 0x16fb1
movl 0x10(%rsp), %eax
movb 0x15(%rsp), %cl
movsbl %cl, %ecx
cmpl %ecx, %eax
je 0x16fce
movq 0x20(%rsp), %rax
movb $0x2, 0x19(%rax)
jmp 0x1710e
jmp 0x16fd0
jmp 0x16fd2
jmp 0x16fd4
jmp 0x170d4
movsbl 0x3e(%rsp), %eax
cmpl $0x61, %eax
jl 0x16fef
movsbl 0x3e(%rsp), %eax
subl $0x20, %eax
movb %al, 0x3e(%rsp)
movsbl 0x3e(%rsp), %eax
cmpl $0x30, %eax
jl 0x17028
movsbl 0x3e(%rsp), %eax
cmpl $0x39, %eax
jg 0x17028
movq 0x20(%rsp), %rax
movzbl 0x1a(%rax), %ecx
imull $0xa, %ecx, %ecx
movb %cl, 0x1a(%rax)
movsbl 0x3e(%rsp), %edx
subl $0x30, %edx
movzbl 0x1a(%rax), %ecx
addl %edx, %ecx
movb %cl, 0x1a(%rax)
jmp 0x170d2
movsbl 0x3e(%rsp), %eax
cmpl $0x42, %eax
jne 0x17040
movq 0x20(%rsp), %rax
movb $0x2, 0x18(%rax)
jmp 0x1710e
movsbl 0x3e(%rsp), %eax
cmpl $0x4f, %eax
jne 0x17058
movq 0x20(%rsp), %rax
movb $0x3, 0x18(%rax)
jmp 0x1710e
movsbl 0x3e(%rsp), %eax
cmpl $0x44, %eax
jne 0x17070
movq 0x20(%rsp), %rax
movb $0x4, 0x18(%rax)
jmp 0x1710e
movsbl 0x3e(%rsp), %eax
cmpl $0x58, %eax
jne 0x17088
movq 0x20(%rsp), %rax
movb $0x5, 0x18(%rax)
jmp 0x1710e
movsbl 0x3e(%rsp), %eax
cmpl $0x46, %eax
jne 0x1709d
movq 0x20(%rsp), %rax
movb $0x6, 0x18(%rax)
jmp 0x1710e
movsbl 0x3e(%rsp), %eax
cmpl $0x43, %eax
jne 0x170b2
movq 0x20(%rsp), %rax
movb $0x1, 0x18(%rax)
jmp 0x1710e
movsbl 0x3e(%rsp), %eax
cmpl $0x41, %eax
jne 0x170c7
movq 0x20(%rsp), %rax
movb $0x7, 0x18(%rax)
jmp 0x1710e
movq 0x20(%rsp), %rax
movb $0x3, 0x19(%rax)
jmp 0x1710e
jmp 0x170d4
jmp 0x16dfd
movsbl 0x3e(%rsp), %eax
cmpl $0x0, %eax
jne 0x17105
movq 0x20(%rsp), %rdi
addq $0x8, %rdi
callq 0x17120
movb %al, 0xf(%rsp)
jmp 0x170f7
movb 0xf(%rsp), %al
movsbl %al, %eax
cmpl $0x0, %eax
jne 0x17105
jmp 0x1710e
movq 0x20(%rsp), %rax
movb $0x7, 0x19(%rax)
addq $0x48, %rsp
retq
movq %rax, %rdi
callq 0xb250
nopl (%rax,%rax)