// File: Shaviaditya[P]CReact-Esoteric-Language/transpiler1.cpp
// Function: main
int main(int argc, char const *argv[])
// int main()
{
    refDataset();
    std::string getSyntax;
    std::ifstream readData(argv[1]);
    // std::ifstream readData("input.html");
    while (getline(readData, getSyntax))
    {
        getSyntax = SpaceDebug(getSyntax);
        if (getSyntax.substr(0, 2) == "<?" || getSyntax.substr(getSyntax.length() - 2, 2) == "?>")
        {
            conditionalBuilder(getSyntax);
        }
        else if (getSyntax.substr(0, 2) == "<#" || getSyntax.substr(getSyntax.length() - 2, 2) == "#>")
        {
            iteratorBuilders(getSyntax);
        }
        else
        {
            Parser(getSyntax);
        }
    }
    printParser();
    writeCode();
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3c0, %rsp            # imm = 0x3C0
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
callq 0x3660
leaq -0x30(%rbp), %rdi
callq 0x3340
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
leaq -0x238(%rbp), %rdi
movl $0x8, %edx
callq 0x3400
jmp 0x8232
jmp 0x8234
leaq -0x238(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3070
movq %rax, -0x380(%rbp)
jmp 0x824d
movq -0x380(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x32e0
movb %al, -0x381(%rbp)
jmp 0x826b
movb -0x381(%rbp), %al
testb $0x1, %al
jne 0x827a
jmp 0x86aa
leaq -0x288(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3100
jmp 0x828c
leaq -0x268(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x53e0
jmp 0x82a1
leaq -0x30(%rbp), %rdi
movq %rdi, -0x390(%rbp)
leaq -0x268(%rbp), %rsi
movq %rsi, -0x398(%rbp)
callq 0x32c0
movq -0x398(%rbp), %rdi
callq 0x3170
leaq -0x288(%rbp), %rdi
callq 0x3170
movq -0x390(%rbp), %rsi
movb $0x0, -0x2c9(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x2a8(%rbp), %rdi
movl $0x2, %ecx
callq 0x3250
jmp 0x82fc
leaq 0x4da1(%rip), %rsi      # 0xd0a4
leaq -0x2a8(%rbp), %rdi
callq 0x9260
movb %al, -0x399(%rbp)
jmp 0x8317
movb -0x399(%rbp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x39a(%rbp)
jne 0x838d
jmp 0x832c
leaq -0x30(%rbp), %rdi
movq %rdi, -0x3a8(%rbp)
callq 0x3370
movq -0x3a8(%rbp), %rsi
movq %rax, %rdx
addq $-0x2, %rdx
leaq -0x2c8(%rbp), %rdi
movl $0x2, %ecx
callq 0x3250
jmp 0x835d
movb $0x1, -0x2c9(%rbp)
leaq 0x4d3c(%rip), %rsi      # 0xd0a7
leaq -0x2c8(%rbp), %rdi
callq 0x9260
movb %al, -0x3a9(%rbp)
jmp 0x837f
movb -0x3a9(%rbp), %al
movb %al, -0x39a(%rbp)
jmp 0x838d
movb -0x39a(%rbp), %al
movb %al, -0x3aa(%rbp)
testb $0x1, -0x2c9(%rbp)
jne 0x83a4
jmp 0x83b0
leaq -0x2c8(%rbp), %rdi
callq 0x3170
leaq -0x2a8(%rbp), %rdi
callq 0x3170
movb -0x3aa(%rbp), %al
testb $0x1, %al
jne 0x83cb
jmp 0x84c0
leaq -0x2f0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3100
jmp 0x83dd
leaq -0x2f0(%rbp), %rdi
callq 0x79e0
jmp 0x83eb
leaq -0x2f0(%rbp), %rdi
callq 0x3170
jmp 0x86a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0x86ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0x86e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x3170
jmp 0x86e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0x848c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
testb $0x1, -0x2c9(%rbp)
jne 0x847e
jmp 0x848a
leaq -0x2c8(%rbp), %rdi
callq 0x3170
jmp 0x848c
leaq -0x2a8(%rbp), %rdi
callq 0x3170
jmp 0x86e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0x3170
jmp 0x86e0
movb $0x0, -0x331(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x310(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x2, %ecx
callq 0x3250
jmp 0x84e2
leaq 0x4bc1(%rip), %rsi      # 0xd0aa
leaq -0x310(%rbp), %rdi
callq 0x9260
movb %al, -0x3ab(%rbp)
jmp 0x84fd
movb -0x3ab(%rbp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x3ac(%rbp)
jne 0x8573
jmp 0x8512
leaq -0x30(%rbp), %rdi
movq %rdi, -0x3b8(%rbp)
callq 0x3370
movq -0x3b8(%rbp), %rsi
movq %rax, %rdx
addq $-0x2, %rdx
leaq -0x330(%rbp), %rdi
movl $0x2, %ecx
callq 0x3250
jmp 0x8543
movb $0x1, -0x331(%rbp)
leaq 0x4b5c(%rip), %rsi      # 0xd0ad
leaq -0x330(%rbp), %rdi
callq 0x9260
movb %al, -0x3b9(%rbp)
jmp 0x8565
movb -0x3b9(%rbp), %al
movb %al, -0x3ac(%rbp)
jmp 0x8573
movb -0x3ac(%rbp), %al
movb %al, -0x3ba(%rbp)
testb $0x1, -0x331(%rbp)
jne 0x858a
jmp 0x8596
leaq -0x330(%rbp), %rdi
callq 0x3170
leaq -0x310(%rbp), %rdi
callq 0x3170
movb -0x3ba(%rbp), %al
testb $0x1, %al
jne 0x85b1
jmp 0x8655
leaq -0x358(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3100
jmp 0x85c3
leaq -0x358(%rbp), %rdi
callq 0x7dd0
jmp 0x85d1
leaq -0x358(%rbp), %rdi
callq 0x3170
jmp 0x86a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0x8621
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
testb $0x1, -0x331(%rbp)
jne 0x8613
jmp 0x861f
leaq -0x330(%rbp), %rdi
callq 0x3170
jmp 0x8621
leaq -0x310(%rbp), %rdi
callq 0x3170
jmp 0x86e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
leaq -0x358(%rbp), %rdi
callq 0x3170
jmp 0x86e0
leaq -0x378(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3100
jmp 0x8667
leaq -0x378(%rbp), %rdi
callq 0x5a50
jmp 0x8675
leaq -0x378(%rbp), %rdi
callq 0x3170
jmp 0x86a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
leaq -0x378(%rbp), %rdi
callq 0x3170
jmp 0x86e0
jmp 0x86a5
jmp 0x8234
callq 0x4230
jmp 0x86b1
callq 0x3cd0
jmp 0x86b8
movl $0x0, -0x4(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x30a0
leaq -0x30(%rbp), %rdi
callq 0x3170
movl -0x4(%rbp), %eax
addq $0x3c0, %rsp            # imm = 0x3C0
popq %rbp
retq
leaq -0x238(%rbp), %rdi
callq 0x30a0
leaq -0x30(%rbp), %rdi
callq 0x3170
movq -0x240(%rbp), %rdi
callq 0x33d0
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)