// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movl %edx, %r15d
movq %rsi, %r12
movq %rdi, %r14
callq 0xd550
testl %r15d, %r15d
je 0xd5fd
movq (%r14), %rax
cmpb $0x22, (%rax)
jne 0xd889
incq %rax
movq %rax, (%r14)
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq (%r14), %rbx
movb (%rbx), %r13b
testb %r13b, %r13b
je 0xd7dd
movq %r12, -0x50(%rbp)
leaq -0x48(%rbp), %r12
movzbl %r13b, %edx
testb %r15b, %r15b
je 0xd648
cmpb $0x5c, %r13b
je 0xd68c
movl $0x1, %ecx
movq %rbx, %rax
cmpl $0x22, %edx
jne 0xd6b7
jmp 0xd7d0
leal -0x2c(%rdx), %eax
cmpl $0x31, %eax
ja 0xd664
movabsq $0x2000000004001, %rcx  # imm = 0x2000000004001
btq %rax, %rcx
jb 0xd7d0
cmpl $0x7d, %edx
je 0xd7d0
movsbl %r13b, %edi
callq 0x2050
testl %eax, %eax
jne 0xd7d0
movl $0x1, %ecx
movq %rbx, %rax
cmpb $0x5c, %r13b
jne 0xd6b7
leaq 0x1(%rbx), %rax
movq %rax, (%r14)
movzbl 0x1(%rbx), %edx
xorl %r13d, %r13d
cmpl $0x61, %edx
jg 0xd6cd
movl $0x2, %ecx
cmpl $0x22, %edx
je 0xd6b7
cmpl $0x2f, %edx
je 0xd6b7
cmpl $0x5c, %edx
jne 0xd891
addq %rcx, %rbx
movq %rbx, (%r14)
movsbl (%rax), %esi
movq %r12, %rdi
callq 0x21e0
jmp 0xd775
leal -0x6e(%rdx), %eax
cmpl $0x7, %eax
ja 0xd6e9
leaq 0x1994(%rip), %rcx      # 0xf070
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0xa, %al
jmp 0xd762
movb $0x8, %al
cmpl $0x62, %edx
je 0xd762
cmpl $0x66, %edx
jne 0xd891
movb $0xc, %al
jmp 0xd762
movsbl 0x2(%rbx), %edi
callq 0x2070
testl %eax, %eax
je 0xd88e
movsbl 0x3(%rbx), %edi
callq 0x2070
testl %eax, %eax
je 0xd88e
movsbl 0x4(%rbx), %edi
callq 0x2070
testl %eax, %eax
je 0xd88e
movsbl 0x5(%rbx), %edi
callq 0x2070
testl %eax, %eax
je 0xd88e
movsbl 0x4(%rbx), %ecx
leal -0x30(%rcx), %eax
cmpl $0xa, %eax
jb 0xd792
leal -0x41(%rcx), %eax
cmpl $0x5, %eax
ja 0xd786
addl $-0x37, %ecx
movl %ecx, %eax
jmp 0xd792
movb $0x9, %al
jmp 0xd762
movb $0xd, %al
movl $0x1, %ebx
movzbl %al, %esi
movq %r12, %rdi
callq 0x21e0
addq %rbx, (%r14)
movq (%r14), %rbx
movb (%rbx), %r13b
testb %r13b, %r13b
jne 0xd627
jmp 0xd7d0
leal -0x61(%rcx), %edx
leal -0x57(%rcx), %eax
cmpl $0x6, %edx
cmovael %ecx, %eax
movsbl 0x5(%rbx), %ecx
leal -0x30(%rcx), %edx
cmpl $0xa, %edx
jb 0xd7b9
leal -0x41(%rcx), %edx
cmpl $0x5, %edx
ja 0xd7ad
addl $-0x37, %ecx
movl %ecx, %edx
jmp 0xd7b9
leal -0x61(%rcx), %esi
leal -0x57(%rcx), %edx
cmpl $0x6, %esi
cmovael %ecx, %edx
shll $0x4, %eax
addl %edx, %eax
movl $0x5, %ebx
movsbl %al, %esi
movq %r12, %rdi
callq 0x21e0
jmp 0xd772
cmpb $0x22, %r13b
sete %al
movq -0x50(%rbp), %r12
jmp 0xd7df
xorl %eax, %eax
testb %r15b, %r15b
je 0xd7f2
testb %al, %al
je 0xd88e
incq %rbx
movq %rbx, (%r14)
leaq -0xb8(%rbp), %rdi
movl $0x3, -0x8(%rdi)
leaq -0xa8(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
addq %rsi, %rdx
callq 0xaa1e
leaq -0x98(%rbp), %r14
xorps %xmm0, %xmm0
movups %xmm0, (%r14)
xorl %eax, %eax
movq %rax, 0x10(%r14)
leaq -0x78(%rbp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0xc0(%rbp), %rsi
movq %r12, %rdi
callq 0xbba6
leaq -0x80(%rbp), %rbx
movq %rbx, %rdi
callq 0xb90e
movq %r14, %rdi
callq 0xabf8
movq -0x38(%rbx), %rdi
movb $0x1, %r13b
cmpq %r15, %rdi
je 0xd891
movq -0xa8(%rbp), %rsi
incq %rsi
callq 0x2220
jmp 0xd891
xorl %r13d, %r13d
jmp 0xd8aa
xorl %r13d, %r13d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xd8aa
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2220
movl %r13d, %eax
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xd8c1
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xd8dd
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2220
movq %rbx, %rdi
callq 0x2370
nop