// File: /workspace/github_cpp_makefile_star2_O1/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 %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movw $0x1, (%rdi)
movl $0x0, 0x24(%rdi)
movb $0x0, 0x28(%rdi)
movl $0x2, 0x2c(%rdi)
movq $0x0, 0x30(%rdi)
leaq 0x19792(%rip), %rsi     # 0x41c16
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rdi
movq %rax, %rsi
callq 0x92c0
leaq 0x2(%rbx), %rdi
leaq 0x10(%rsp), %r12
movq -0x10(%r12), %r15
movq %r15, %rsi
callq 0x5360
cmpq %r12, %r15
je 0x284c2
movq 0x10(%rsp), %rsi
incq %rsi
movq %r15, %rdi
callq 0x53a0
leaq 0x196ec(%rip), %rsi     # 0x41bb5
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rsi
movq %rax, %rdi
callq 0xe350
movl (%rsp), %eax
movl %eax, 0x24(%rbx)
leaq 0x19780(%rip), %rsi     # 0x41c69
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rsi
movq %rax, %rdi
callq 0xe350
movb (%rsp), %al
movb %al, 0x28(%rbx)
leaq 0x170be(%rip), %rsi     # 0x3f5c7
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rsi
movq %rax, %rdi
callq 0xe350
movl (%rsp), %eax
movl %eax, 0x2c(%rbx)
leaq 0x15409(%rip), %rsi     # 0x3d932
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rsi
movq %rax, %rdi
callq 0x28a53
movb (%rsp), %al
movb %al, (%rbx)
cmpb $0x1, (%r14)
jne 0x28559
movq 0x8(%r14), %rdi
leaq 0x19720(%rip), %rsi     # 0x41c72
callq 0x28b60
jmp 0x2855b
xorl %eax, %eax
testq %rax, %rax
je 0x285a9
movl 0x24(%rbx), %eax
cmpq $0x4, %rax
ja 0x286d1
leaq 0x195e8(%rip), %rcx     # 0x41b5c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x196ee(%rip), %rsi     # 0x41c72
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rsi
movq %rax, %rdi
callq 0xe350
movl (%rsp), %ebp
movl $0x10, %edi
callq 0x5390
jmp 0x28649
movq $0x0, 0x30(%rbx)
jmp 0x286d1
leaq 0x196b5(%rip), %rsi     # 0x41c72
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rsi
movq %rax, %rdi
callq 0x28c40
fldt (%rsp)
fstpt 0x24(%rsp)
movl $0x20, %edi
callq 0x5390
movq %rax, %r14
leaq 0x2b4b5(%rip), %rax     # 0x53aa0
movq %rax, (%r14)
fldt 0x24(%rsp)
fstpt 0x10(%r14)
jmp 0x2865a
leaq 0x19673(%rip), %rsi     # 0x41c72
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rdi
movq %rax, %rsi
callq 0x92c0
movq (%rsp), %r15
movl $0x10, %edi
callq 0x5390
jmp 0x28697
leaq 0x19649(%rip), %rsi     # 0x41c72
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rsi
movq %rax, %rdi
callq 0xe350
movl (%rsp), %ebp
movl $0x10, %edi
callq 0x5390
movq %rax, %r14
leaq 0x2b425(%rip), %rax     # 0x53a78
movq %rax, (%r14)
movl %ebp, 0x8(%r14)
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
je 0x28669
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, 0x30(%rbx)
jmp 0x286d1
leaq 0x195fc(%rip), %rsi     # 0x41c72
movq %r14, %rdi
callq 0x8fa0
movq %rsp, %rdi
movq %rax, %rsi
callq 0x92c0
movq (%rsp), %r15
movl $0x10, %edi
callq 0x5390
movq %rax, %r14
leaq 0x2b577(%rip), %rax     # 0x53c18
movq %rax, (%r14)
movq %r15, 0x8(%r14)
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
je 0x286b7
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, 0x30(%rbx)
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x286d1
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53a0
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x286e0
movq %rax, %r14
cmpq %r12, %r15
je 0x28709
movq 0x10(%rsp), %rsi
incq %rsi
movq %r15, %rdi
callq 0x53a0
jmp 0x28709
jmp 0x28706
jmp 0x28706
jmp 0x28706
jmp 0x28706
jmp 0x28706
jmp 0x28706
movq %rax, %r14
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
je 0x28718
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x56e0