// File: yanlinlin82[P]jsonxx/./json.hpp
// Function: yll::json::parse_string(char const*&, yll::json&, bool)
static bool parse_string(const char*& s, json& v, bool strict = true) {
			skip_spaces(s);
			if (strict) {
				if (*s != '"') return false; else ++s;
			}
			std::string text;
			while (*s) {
				if (strict) {
					if (*s == '"') break;
				} else {
					if (*s == ':' || *s == ',' || *s == '}' || *s == ']' || isspace(*s)) break;
				}
				if (*s == '\\') {
					switch (*(++s)) {
						case '"':
						case '\\':
						case '/': text += *s++; break;
						case 'b': text += '\b'; ++s; break;
						case 'f': text += '\f'; ++s; break;
						case 'n': text += '\n'; ++s; break;
						case 'r': text += '\r'; ++s; break;
						case 't': text += '\t'; ++s; break;
						case 'u':
								  if (!isxdigit(s[1])) return false;
								  if (!isxdigit(s[2])) return false;
								  if (!isxdigit(s[3])) return false;
								  if (!isxdigit(s[4])) return false;
								  text.push_back(static_cast<char>(
											  (hex_value(s[1]) << 12) +
											  (hex_value(s[2]) << 8) +
											  (hex_value(s[3]) << 4) +
											  hex_value(s[4])));
								  s += 5;
								  break;
						default: return false;
					}
				} else {
					text += *s++;
				}
			}
			if (strict) {
				if (*s != '"') return false; else ++s;
			}
			v = text;
			return true;
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movb %dl, %al
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
movq -0x10(%rbp), %rdi
callq 0x11b60
testb $0x1, -0x19(%rbp)
je 0x11c81
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
je 0x11c71
movb $0x0, -0x1(%rbp)
jmp 0x12076
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x11c81
leaq -0x40(%rbp), %rdi
callq 0x3460
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpb $0x0, (%rax)
je 0x11fd7
testb $0x1, -0x19(%rbp)
je 0x11cb6
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0x11cb4
jmp 0x11fd7
jmp 0x11d0d
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x3a, %eax
je 0x11d06
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2c, %eax
je 0x11d06
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x7d, %eax
je 0x11d06
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x5d, %eax
je 0x11d06
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %edi
callq 0x3060
cmpl $0x0, %eax
je 0x11d0b
jmp 0x11fd7
jmp 0x11d0d
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
jne 0x11fb2
movq -0x10(%rbp), %rcx
movq (%rcx), %rax
movq %rax, %rdx
incq %rdx
movq %rdx, (%rcx)
movsbl 0x1(%rax), %eax
addl $-0x22, %eax
movl %eax, %ecx
movq %rcx, -0xc8(%rbp)
subl $0x53, %eax
ja 0x11fa0
movq -0xc8(%rbp), %rax
leaq 0x22d9(%rip), %rcx      # 0x14030
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rax
movq %rax, %rdx
incq %rdx
movq %rdx, (%rcx)
movsbl (%rax), %esi
leaq -0x40(%rbp), %rdi
callq 0x31d0
jmp 0x11d7e
jmp 0x11fb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1206b
leaq -0x40(%rbp), %rdi
movl $0x8, %esi
callq 0x31d0
jmp 0x11da4
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x11fb0
leaq -0x40(%rbp), %rdi
movl $0xc, %esi
callq 0x31d0
jmp 0x11dc7
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x11fb0
leaq -0x40(%rbp), %rdi
movl $0xa, %esi
callq 0x31d0
jmp 0x11dea
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x11fb0
leaq -0x40(%rbp), %rdi
movl $0xd, %esi
callq 0x31d0
jmp 0x11e0d
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x11fb0
leaq -0x40(%rbp), %rdi
movl $0x9, %esi
callq 0x31d0
jmp 0x11e30
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x11fb0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %edi
callq 0x30b0
cmpl $0x0, %eax
jne 0x11e68
movb $0x0, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x12060
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x2(%rax), %edi
callq 0x30b0
cmpl $0x0, %eax
jne 0x11e8d
movb $0x0, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x12060
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x3(%rax), %edi
callq 0x30b0
cmpl $0x0, %eax
jne 0x11eb2
movb $0x0, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x12060
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x4(%rax), %edi
callq 0x30b0
cmpl $0x0, %eax
jne 0x11ed7
movb $0x0, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x12060
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %edi
callq 0x12a70
movl %eax, -0xcc(%rbp)
jmp 0x11eef
movl -0xcc(%rbp), %eax
shll $0xc, %eax
movl %eax, -0xd4(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x2(%rax), %edi
callq 0x12a70
movl %eax, -0xd0(%rbp)
jmp 0x11f16
movl -0xd4(%rbp), %eax
movl -0xd0(%rbp), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movl %eax, -0xdc(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x3(%rax), %edi
callq 0x12a70
movl %eax, -0xd8(%rbp)
jmp 0x11f45
movl -0xdc(%rbp), %eax
movl -0xd8(%rbp), %ecx
shll $0x4, %ecx
addl %ecx, %eax
movl %eax, -0xe4(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x4(%rax), %edi
callq 0x12a70
movl %eax, -0xe0(%rbp)
jmp 0x11f74
movl -0xe0(%rbp), %ecx
movl -0xe4(%rbp), %eax
addl %ecx, %eax
movsbl %al, %esi
leaq -0x40(%rbp), %rdi
callq 0x32d0
jmp 0x11f90
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x5, %rcx
movq %rcx, (%rax)
jmp 0x11fb0
movb $0x0, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x12060
jmp 0x11fd2
movq -0x10(%rbp), %rcx
movq (%rcx), %rax
movq %rax, %rdx
incq %rdx
movq %rdx, (%rcx)
movsbl (%rax), %esi
leaq -0x40(%rbp), %rdi
callq 0x31d0
jmp 0x11fd0
jmp 0x11fd2
jmp 0x11c8a
testb $0x1, -0x19(%rbp)
je 0x12009
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
je 0x11ff9
movb $0x0, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x12060
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x12009
leaq -0xc0(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x8450
jmp 0x1201b
movq -0x18(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x8db0
jmp 0x1202d
leaq -0xc0(%rbp), %rdi
callq 0x8b00
movb $0x1, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x12060
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x8b00
jmp 0x1206b
leaq -0x40(%rbp), %rdi
callq 0x3578
jmp 0x12076
leaq -0x40(%rbp), %rdi
callq 0x3578
jmp 0x12084
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xf0, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x34e0
nopl (%rax)