// File: /workspace/github_cpp_makefile_star2_O2/Konano[P]UselessDatabase/./Type.h
// Function: Type::Type(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>)
Type(json j) {
        strcpy(name, j["name"].get<std::string>().c_str());
        ty = (enumType)j["ty"].get<int>();
        char_len = j["char_len"].get<int>();
        key = (enumKeyType)j["key"].get<int>();
        null = j["null"].get<bool>();
        if (j.count("def")) {
            switch (ty) {
            case INT: { def = j["def"].get<int>(); break; }
            case DATE: { def = j["def"].get<int>(); break; }
            case CHAR: { def = j["def"].get<std::string>().c_str(); break; }
            case VARCHAR: { def = j["def"].get<std::string>().c_str(); break; }
            case DECIMAL: { def = j["def"].get<long double>(); break; }
            }
        } else {
            def = Any();
        }
    }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r15
movw $0x1, (%rdi)
andl $0x0, 0x24(%rdi)
movq %rsi, %r14
movb $0x0, 0x28(%rdi)
movl $0x2, 0x2c(%rdi)
leaq 0x30(%rdi), %rbx
andq $0x0, 0x30(%rdi)
leaq 0x1740f(%rip), %rsi     # 0x3802e
movq %r14, %rdi
callq 0x7c7e
movq %rsp, %rdi
movq %rax, %rsi
callq 0x7f18
leaq 0x2(%r15), %rdi
movq %rsp, %r12
movq (%r12), %rsi
callq 0x53b0
movq %r12, %rdi
callq 0x5200
leaq 0x1737c(%rip), %rsi     # 0x37fcd
movq %r14, %rdi
callq 0x7c7e
movq %rax, %rdi
callq 0x7f58
movl %eax, 0x24(%r15)
leaq 0x17415(%rip), %rsi     # 0x38081
movq %r14, %rdi
callq 0x7c7e
movq %rax, %rdi
callq 0x7f58
movb %al, 0x28(%r15)
leaq 0x14d02(%rip), %rsi     # 0x35989
movq %r14, %rdi
callq 0x7c7e
movq %rax, %rdi
callq 0x7f58
movl %eax, 0x2c(%r15)
leaq 0x12c8d(%rip), %rsi     # 0x3392f
movq %r14, %rdi
callq 0x7c7e
movq %rax, %rdi
callq 0x21422
movb %al, (%r15)
leaq 0x173ce(%rip), %rsi     # 0x3808a
movq %r14, %rdi
callq 0x2143c
testq %rax, %rax
je 0x20d10
movl 0x24(%r15), %eax
cmpq $0x4, %rax
ja 0x20dd7
leaq 0x17222(%rip), %rcx     # 0x37f00
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1739c(%rip), %rsi     # 0x3808a
movq %r14, %rdi
callq 0x7c7e
movq %rax, %rdi
callq 0x7f58
movq %rsp, %rsi
movl %eax, (%rsi)
movq %rbx, %rdi
callq 0x20f70
jmp 0x20dd7
andq $0x0, (%rbx)
jmp 0x20dd7
leaq 0x1736a(%rip), %rsi     # 0x3808a
movq %r14, %rdi
callq 0x7c7e
fldz
fstp %st(0)
movq %rax, %rdi
callq 0x21480
fstpt (%rsp)
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x21006
fldz
fstp %st(0)
jmp 0x20dd7
leaq 0x17338(%rip), %rsi     # 0x3808a
movq %r14, %rdi
callq 0x7c7e
movq %rsp, %rdi
movq %rax, %rsi
callq 0x7f18
movq (%rsp), %rax
leaq 0x20(%rsp), %rsi
movq %rax, (%rsi)
movq %rbx, %rdi
callq 0x2144e
jmp 0x20dcf
leaq 0x17308(%rip), %rsi     # 0x3808a
movq %r14, %rdi
callq 0x7c7e
movq %rax, %rdi
callq 0x7f58
movq %rsp, %rsi
movl %eax, (%rsi)
movq %rbx, %rdi
callq 0x20f70
jmp 0x20dd7
leaq 0x172e2(%rip), %rsi     # 0x3808a
movq %r14, %rdi
callq 0x7c7e
movq %rsp, %rdi
movq %rax, %rsi
callq 0x7f18
movq (%rsp), %rax
leaq 0x20(%rsp), %rsi
movq %rax, (%rsi)
movq %rbx, %rdi
callq 0x2144e
movq %rsp, %rdi
callq 0x5200
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x20de5
movq %rax, %r14
movq %rsp, %rdi
callq 0x5200
jmp 0x20e03
jmp 0x20e00
jmp 0x20e00
jmp 0x20e00
jmp 0x20e00
fstp %st(0)
jmp 0x20e00
jmp 0x20e00
movq %rax, %r14
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x20e11
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x56f0
nop