// File: UTAP[P]APHTTP/utils/template_parser.cpp
// Function: TemplateParser::compileCode()
void TemplateParser::compileCode() {
  if (writeToFile(code, toCompileFile) < 0)
    throw Server::Exception("Can not write generated template code!");

  string cmd = mkdirNoErrors(outputFolder) + " && " + cc + " " + toCompileFile +
               " " + utilitiesPath + " -o " + outputFolder + SysCmd::slash + programName +
               "&& " + SysCmd::rm + toCompileFile;
  string error = "Can not compile template " + filePath;
  TemplateUtils::runSystemCommand(cmd, error);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x280, %rsp            # imm = 0x280
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x268(%rbp)
addq $0x28, %rdi
leaq 0xf39b(%rip), %rsi      # 0x2dff0
callq 0x15d00
cmpl $0x0, %eax
jge 0x1ed1b
movb $0x1, -0x3d(%rbp)
movl $0x28, %edi
callq 0x4250
movq %rax, -0x278(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x270(%rbp)
callq 0x46c0
movq -0x270(%rbp), %rdx
leaq 0x2dab(%rip), %rsi      # 0x21a41
leaq -0x28(%rbp), %rdi
callq 0x4550
jmp 0x1eca1
movq -0x278(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x1b360
jmp 0x1ecb3
movq -0x278(%rbp), %rdi
movb $0x0, -0x3d(%rbp)
leaq 0xde03(%rip), %rsi      # 0x2cac8
leaq -0x152bc(%rip), %rdx    # 0x9a10
callq 0x4680
jmp 0x1f19a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1ecf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x4768
leaq -0x29(%rbp), %rdi
callq 0x4440
testb $0x1, -0x3d(%rbp)
jne 0x1ed0a
jmp 0x1ed16
movq -0x278(%rbp), %rdi
callq 0x4310
jmp 0x1f191
leaq 0xf30e(%rip), %rsi      # 0x2e030
leaq -0x200(%rbp), %rdi
movq %rdi, -0x280(%rbp)
callq 0x1f9f0
movq -0x280(%rbp), %rsi
leaq 0x2d25(%rip), %rdx      # 0x21a68
leaq -0x1e0(%rbp), %rdi
callq 0xd310
jmp 0x1ed51
leaq 0xf258(%rip), %rdx      # 0x2dfb0
leaq -0x1c0(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0xd360
jmp 0x1ed6d
leaq 0x2d36(%rip), %rdx      # 0x21aaa
leaq -0x1a0(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0xd310
jmp 0x1ed89
leaq 0xf260(%rip), %rdx      # 0x2dff0
leaq -0x180(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0xd360
jmp 0x1eda5
leaq 0x2cfe(%rip), %rdx      # 0x21aaa
leaq -0x160(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0xd310
jmp 0x1edc1
leaq 0xf1c8(%rip), %rdx      # 0x2df90
leaq -0x140(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0xd360
jmp 0x1eddd
leaq 0x2c89(%rip), %rdx      # 0x21a6d
leaq -0x120(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0xd310
jmp 0x1edf9
leaq 0xf230(%rip), %rdx      # 0x2e030
leaq -0x100(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0xd360
jmp 0x1ee15
leaq 0xf0d4(%rip), %rdx      # 0x2def0
leaq -0xe0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0xd360
jmp 0x1ee31
movq -0x268(%rbp), %rdx
addq $0xa0, %rdx
leaq -0xc0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0xd360
jmp 0x1ee54
leaq 0x2c0e(%rip), %rdx      # 0x21a69
leaq -0xa0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0xd310
jmp 0x1ee70
leaq 0xf019(%rip), %rdx      # 0x2de90
leaq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0xd360
jmp 0x1ee89
leaq 0xf160(%rip), %rdx      # 0x2dff0
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0xd360
jmp 0x1ee9f
leaq -0x80(%rbp), %rdi
callq 0x4768
leaq -0xa0(%rbp), %rdi
callq 0x4768
leaq -0xc0(%rbp), %rdi
callq 0x4768
leaq -0xe0(%rbp), %rdi
callq 0x4768
leaq -0x100(%rbp), %rdi
callq 0x4768
leaq -0x120(%rbp), %rdi
callq 0x4768
leaq -0x140(%rbp), %rdi
callq 0x4768
leaq -0x160(%rbp), %rdi
callq 0x4768
leaq -0x180(%rbp), %rdi
callq 0x4768
leaq -0x1a0(%rbp), %rdi
callq 0x4768
leaq -0x1c0(%rbp), %rdi
callq 0x4768
leaq -0x1e0(%rbp), %rdi
callq 0x4768
leaq -0x200(%rbp), %rdi
callq 0x4768
movq -0x268(%rbp), %rdx
addq $0x8, %rdx
leaq 0x2b28(%rip), %rsi      # 0x21a72
leaq -0x220(%rbp), %rdi
callq 0xd3b0
jmp 0x1ef58
leaq -0x240(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x4200
jmp 0x1ef6a
leaq -0x260(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x4200
jmp 0x1ef7f
leaq -0x240(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x1fab0
jmp 0x1ef94
leaq -0x260(%rbp), %rdi
callq 0x4768
leaq -0x240(%rbp), %rdi
callq 0x4768
leaq -0x220(%rbp), %rdi
callq 0x4768
leaq -0x60(%rbp), %rdi
callq 0x4768
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f120
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f114
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f108
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f0fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f0f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f0e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f0d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f0cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f0c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f0b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f0a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f09c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x4768
leaq -0xa0(%rbp), %rdi
callq 0x4768
leaq -0xc0(%rbp), %rdi
callq 0x4768
leaq -0xe0(%rbp), %rdi
callq 0x4768
leaq -0x100(%rbp), %rdi
callq 0x4768
leaq -0x120(%rbp), %rdi
callq 0x4768
leaq -0x140(%rbp), %rdi
callq 0x4768
leaq -0x160(%rbp), %rdi
callq 0x4768
leaq -0x180(%rbp), %rdi
callq 0x4768
leaq -0x1a0(%rbp), %rdi
callq 0x4768
leaq -0x1c0(%rbp), %rdi
callq 0x4768
leaq -0x1e0(%rbp), %rdi
callq 0x4768
leaq -0x200(%rbp), %rdi
callq 0x4768
jmp 0x1f191
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f188
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f17c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1f170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x4768
leaq -0x240(%rbp), %rdi
callq 0x4768
leaq -0x220(%rbp), %rdi
callq 0x4768
leaq -0x60(%rbp), %rdi
callq 0x4768
movq -0x38(%rbp), %rdi
callq 0x46b0
nopw (%rax,%rax)