// File: /workspace/github_cpp_makefile_star2_O1/AsherGlick[P]CommentHeader/source/main.cpp
// Function: bsd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
string bsd(string owner) {
  // Get the width to wrap
  int fillWidth = titleWidth - globalHeaderStyle._TOP_LEFT.size() - globalHeaderStyle._TOP_RIGHT.size();

  // Calculate the Current Year
  string year = thisyear();

  // Top Half of the license
  string content = "Copyright (c) "+year+", "+owner+"\n";
  content += "All rights reserved.\n";
  content += " \n";
  content += "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: \n";
  content += " \n";

  // Clauses
  string clause1 = "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n";
  string clause2 = "Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n";

  // Wrap the clauses smaller for 'indentation'
  vector<string> wrappedClause1 = wrap(clause1, fillWidth-2);
  clause1 = "* " + wrappedClause1[0] + "\n";
  for (unsigned int i = 1; i < wrappedClause1.size(); i++) {
    clause1 += "  " + wrappedClause1[i] + "\n";
  }
  vector<string> wrappedClause2 = wrap(clause2, fillWidth-2);
  clause2 = "* " + wrappedClause2[0] + "\n";
  for (unsigned int i = 1; i < wrappedClause2.size(); i++) {
    clause2 += "  " + wrappedClause2[i] + "\n";
  }

  // The actual license
  string license = " \nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n";

  string fullLicense = content + clause1 + clause2 + license;

  return headder("LICENSE", fullLicense, outputRightWallFlag);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1c8, %rsp            # imm = 0x1C8
movq %rsi, %rbx
movq %rdi, %r14
movl 0x8e46(%rip), %r13d     # 0x14220
movl 0x8e9f(%rip), %r12d     # 0x14280
addl 0x8e58(%rip), %r12d     # 0x14240
leaq -0x1e8(%rbp), %r15
movq %r15, %rdi
callq 0xd078
leaq 0x4723(%rip), %rsi      # 0xfb21
leaq -0x48(%rbp), %rdi
movq %r15, %rdx
callq 0xd337
movq %r14, -0x108(%rbp)
leaq 0x4718(%rip), %rsi      # 0xfb30
leaq -0x48(%rbp), %rdi
callq 0x33e0
leaq -0x78(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb448
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0xb44f
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq -0x88(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
callq 0x30d0
leaq -0x98(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb4a6
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0xb4ad
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0xa8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x4706(%rip), %rsi      # 0xfbd8
callq 0x33e0
leaq -0xc0(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb504
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0xb50a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xa8(%rbp), %rdi
cmpq %r15, %rdi
je 0xb535
callq 0x3260
movq -0x88(%rbp), %rdi
cmpq %r14, %rdi
je 0xb546
callq 0x3260
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb558
callq 0x3260
leaq 0x45d4(%rip), %rsi      # 0xfb33
leaq -0xd0(%rbp), %rdi
callq 0x33e0
leaq 0x4665(%rip), %rsi      # 0xfbd7
leaq -0xd0(%rbp), %rdi
callq 0x33e0
leaq 0x45c4(%rip), %rsi      # 0xfb49
leaq -0xd0(%rbp), %rdi
callq 0x33e0
leaq 0x463f(%rip), %rsi      # 0xfbd7
leaq -0xd0(%rbp), %rdi
callq 0x33e0
leaq -0xa8(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4625(%rip), %rsi      # 0xfbda
leaq 0x469b(%rip), %rdx      # 0xfc57
callq 0x7590
leaq -0x88(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4686(%rip), %rsi      # 0xfc58
leaq 0x474a(%rip), %rdx      # 0xfd23
callq 0x7590
leaq -0x198(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1a8(%rbp), %rdi
callq 0x802a
subl %r12d, %r13d
addl $-0x2, %r13d
leaq -0x100(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
movl %r13d, %edx
callq 0xcc07
movq -0x1a8(%rbp), %rdi
cmpq %r14, %rdi
je 0xb634
callq 0x3260
movq -0x100(%rbp), %rdx
leaq 0x46e2(%rip), %rsi      # 0xfd24
leaq -0x68(%rbp), %rdi
callq 0xd337
leaq -0x38(%rbp), %r14
leaq 0x4582(%rip), %rsi      # 0xfbd8
leaq -0x68(%rbp), %rdi
callq 0x33e0
movq %r14, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb67f
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xb686
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movl %r13d, -0xac(%rbp)
movq 0x8(%rax), %rdx
leaq -0x48(%rbp), %rbx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xa8(%rbp), %rdi
movq %rbx, %rsi
callq 0x32e0
movq (%rbx), %rdi
cmpq %r14, %rdi
je 0xb6c4
callq 0x3260
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb6d6
callq 0x3260
movq -0x100(%rbp), %rax
movq -0xf8(%rbp), %rcx
subq %rax, %rcx
cmpq $0x21, %rcx
jb 0xb7cb
movl $0x1, %edx
movl $0x2, %r14d
leaq 0x3918(%rip), %r15      # 0xf01b
leaq -0x68(%rbp), %r12
leaq 0x44ca(%rip), %r13      # 0xfbd8
leaq -0xa8(%rbp), %rbx
shlq $0x5, %rdx
addq %rax, %rdx
movq %r12, %rdi
movq %r15, %rsi
callq 0xd337
movq %r12, %rdi
movq %r13, %rsi
callq 0x33e0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb756
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xb75c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xb795
callq 0x3260
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0xb7a7
callq 0x3260
movl %r14d, %edx
movq -0x100(%rbp), %rax
movq -0xf8(%rbp), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
incl %r14d
cmpq %rdx, %rcx
ja 0xb715
leaq -0x178(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
addq %rsi, %rdx
leaq -0x188(%rbp), %rdi
callq 0x802a
leaq -0xe8(%rbp), %rdi
leaq -0x188(%rbp), %rsi
movl -0xac(%rbp), %edx
callq 0xcc07
movq -0x188(%rbp), %rdi
cmpq %r14, %rdi
je 0xb81a
callq 0x3260
movq -0xe8(%rbp), %rdx
leaq 0x44fc(%rip), %rsi      # 0xfd24
leaq -0x68(%rbp), %rdi
callq 0xd337
leaq -0x38(%rbp), %r14
leaq -0x58(%rbp), %r15
leaq 0x4398(%rip), %rsi      # 0xfbd8
leaq -0x68(%rbp), %rdi
callq 0x33e0
movq %r14, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb869
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xb870
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq -0x48(%rbp), %rbx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x88(%rbp), %rdi
movq %rbx, %rsi
callq 0x32e0
movq (%rbx), %rdi
cmpq %r14, %rdi
je 0xb8a7
callq 0x3260
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0xb8b5
callq 0x3260
movq -0xe8(%rbp), %rax
movq -0xe0(%rbp), %rcx
subq %rax, %rcx
cmpq $0x21, %rcx
jb 0xb9aa
movl $0x1, %edx
movl $0x2, %r13d
leaq 0x3739(%rip), %r14      # 0xf01b
leaq -0x68(%rbp), %r15
leaq 0x42eb(%rip), %r12      # 0xfbd8
leaq -0x88(%rbp), %rbx
shlq $0x5, %rdx
addq %rax, %rdx
movq %r15, %rdi
movq %r14, %rsi
callq 0xd337
movq %r15, %rdi
movq %r12, %rsi
callq 0x33e0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb935
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xb93b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x30d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xb974
callq 0x3260
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0xb986
callq 0x3260
movl %r13d, %edx
movq -0xe8(%rbp), %rax
movq -0xe0(%rbp), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
incl %r13d
cmpq %rdx, %rcx
ja 0xb8f4
leaq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
movq %rax, (%rdi)
leaq 0x436b(%rip), %rsi      # 0xfd27
leaq 0x465a(%rip), %rdx      # 0x1001d
callq 0x7590
leaq -0x1c8(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
leaq -0xa8(%rbp), %rdx
callq 0xd3c2
movq -0x108(%rbp), %r12
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
leaq -0x1c8(%rbp), %rdi
callq 0x30d0
leaq -0x118(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x58(%rbp), %r13
je 0xba31
movq %rdx, -0x128(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x118(%rbp)
jmp 0xba38
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq -0x128(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
callq 0x30d0
movq %r13, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xba83
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0xba8b
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x128(%rbp), %rdi
cmpq %r14, %rdi
je 0xbab3
callq 0x3260
leaq -0x1b8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xbac8
callq 0x3260
leaq -0x158(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x4544(%rip), %rsi      # 0x1001e
leaq 0x4544(%rip), %rdx      # 0x10025
leaq -0x168(%rbp), %rdi
callq 0x7590
leaq -0x138(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
addq %rsi, %rdx
leaq -0x148(%rbp), %rdi
callq 0x802a
movsbl 0x8703(%rip), %ecx      # 0x14219
leaq -0x168(%rbp), %rsi
leaq -0x148(%rbp), %rdx
movq %r12, %rdi
callq 0xc50a
movq -0x148(%rbp), %rdi
cmpq %r15, %rdi
je 0xbb3d
callq 0x3260
movq -0x168(%rbp), %rdi
cmpq %r14, %rdi
leaq -0x78(%rbp), %rbx
leaq -0x98(%rbp), %r14
je 0xbb59
callq 0x3260
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0xbb67
callq 0x3260
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xbb79
callq 0x3260
leaq -0xe8(%rbp), %rdi
callq 0x7d36
leaq -0x100(%rbp), %rdi
callq 0x7d36
movq -0x88(%rbp), %rdi
cmpq %rbx, %rdi
je 0xbba2
callq 0x3260
movq -0xa8(%rbp), %rdi
cmpq %r14, %rdi
je 0xbbb3
callq 0x3260
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0xbbcb
callq 0x3260
leaq -0x1d8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xbbe0
callq 0x3260
movq %r12, %rax
addq $0x1c8, %rsp            # imm = 0x1C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x148(%rbp), %rdi
cmpq %r15, %rdi
je 0xbc0e
callq 0x3260
jmp 0xbc0e
movq %rax, %rbx
movq -0x168(%rbp), %rdi
cmpq %r14, %rdi
je 0xbc24
callq 0x3260
jmp 0xbc24
movq %rax, %rbx
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
jmp 0xbc52
movq %rax, %rbx
movq -0x128(%rbp), %rdi
cmpq %r14, %rdi
je 0xbc47
callq 0x3260
jmp 0xbc47
movq %rax, %rbx
leaq -0x1b8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xbc61
callq 0x3260
jmp 0xbc61
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
jmp 0xbd61
jmp 0xbd3a
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
jne 0xbd66
jmp 0xbd6b
jmp 0xbd3a
movq %rax, %rbx
movq -0x188(%rbp), %rdi
cmpq %r14, %rdi
jne 0xbda5
jmp 0xbdaa
jmp 0xbd79
movq %rax, %rbx
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
jmp 0xbda0
jmp 0xbd79
movq %rax, %rbx
movq -0x1a8(%rbp), %rdi
cmpq %r14, %rdi
je 0xbdb6
callq 0x3260
jmp 0xbdb6
movq %rax, %rbx
jmp 0xbdb6
movq %rax, %rbx
jmp 0xbdcb
jmp 0xbd32
movq %rax, %rbx
movq -0xa8(%rbp), %rdi
cmpq %r15, %rdi
je 0xbd07
callq 0x3260
jmp 0xbd07
movq %rax, %rbx
movq -0x88(%rbp), %rdi
cmpq %r14, %rdi
je 0xbd1d
callq 0x3260
jmp 0xbd1d
movq %rax, %rbx
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
jmp 0xbdf1
movq %rax, %rbx
jmp 0xbdfb
movq %rax, %rbx
jmp 0xbde3
movq %rax, %rbx
jmp 0xbd6b
movq %rax, %rbx
jmp 0xbd59
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xbd59
callq 0x3260
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0xbd6b
callq 0x3260
leaq -0xe8(%rbp), %rdi
callq 0x7d36
jmp 0xbdaa
movq %rax, %rbx
jmp 0xbdaa
movq %rax, %rbx
jmp 0xbd98
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xbd98
callq 0x3260
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0xbdaa
callq 0x3260
leaq -0x100(%rbp), %rdi
callq 0x7d36
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0xbdcb
callq 0x3260
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0xbde3
callq 0x3260
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0xbdfb
callq 0x3260
leaq -0x1d8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xbe10
callq 0x3260
movq %rbx, %rdi
callq 0x3390