/**
* @file human.c
*
* @copyleft
* BDS, Modified License
*
* Consent to use this human can be
* revoked any time without mutual
* approval to prevent abuse
*
* @author ~j0ule
*/

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <stdlib.h>
#include <stdint.h>

uint8_t hello_world[] =
{
  "There is no way to love, "\
  "as love is the way <3 \n"\
  "\n"\
  "How do you help starship earth "\
  "and its inhabitants thrive? \n"\
};

uint8_t contact[] =
{
  '6','5','0',
  '2','7','3',
  '6','9','5','5'
};

wint_t chars[] =
{

                 0x20,
              0x20, 0x20,
            0x20,    0x20,
           0x20,       0x20,
          0x20,         0x20,
          0x20,          0x20,
          0x20,           0x20,
         0x20,             0x20,
         0x2728,           0x20,
           0x20,           0x20,
            0x20,         0x20,
             0x20,  0x20, 0x20,
             0x2728,   0x0A,
                0x3B, 0x2C,
                    0x2C,
                    0x2C,
                    0x20,
                0x20, 0x20,
                0x20, 0x20,
           0x20, 0x20, 0x20, 0x20,
         0x20, 0x20, 0x20, 0x27, 0x20,
     0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
     0x27,
     0x20,  0x20, 0x20, 0x20, 0x20, 0x20,
     0x20,  0x20, 0x20, 0x20, 0x20, 0x20,
     0x2C, 0x2C,  0x2C, 0x3B, 0x0A, 0x27,
      0x30, 0x78,   0x31, 0x33, 0x33, 0x37,
      0x20, 0x2E, 0x20, 0x20, 0x20, 0x20,
      0x20, 0x20, 0x20,  0x20, 0x3A, 0x20,
      0x20, 0x20, 0x20,  0x20, 0x3A, 0x20,
     0x20, 0x20, 0x20,  0x20, 0x20, 0x20,
     0x20, 0x2E, 0x20,  0x37, 0x33, 0x33,
     0x31, 0x78, 0x30,  0x27, 0x0A, 0x20,
     0x20, 0x30, 0x78,  0x43, 0x30, 0x44,
      0x45, 0x20, 0x30, 0x78, 0x32, 0x2E,
     0x20, 0x20, 0x20, 0x20, 0x20, 0x3A,
     0x20, 0x20, 0x20, 0x3A, 0x20, 0x20,
      0x20, 0x20, 0x20, 0x2E, 0x32, 0x78,
       0x30, 0x20, 0x45, 0x44, 0x30,
        0x43, 0x78, 0x30, 0x0A, 0x20,
         0x27, 0x30, 0x78, 0x46, 0x30,
          0x43, 0x20, 0x20, 0x20,
            0x27, 0x30, 0x78,
                0x34, 0x2E,


                0x20, 0x20,
           0x20,     0x27, 0x20,
       0x20,      0x20,     0x27,
     0x20,     0x20,            0x20,
    0x2E,     0x34,      0x78,    0x30,
    0x27,    0x20,        0x20,    0x20,
    0x43,    0x4F,         0x46,    0x78,
    0x30,    0x27,       0x0A,     0x20,
     0x30,   0x78,    0x36,       0x45,
      0x37,    0x35, 0x20,     0x2E,
        0x4D,     0x33, 0x2E, 0x20,
           0x20, 0x57,   0x54,  0x2E,
       0x20,                   0x27,
         0x20,               0x20,
              0x20,  0x27, 0x20,
                0x2E, 0x54, 0x57,
                 0x20, 0x20,
                 0x2E, 0x33,
                 0x4D, 0x2E,
                    0x20,
                     0x35,
                     0x37,
                     0x45,
                     0x36,
                     0x78,
                     0x30,
                     0x0A,        0x20,
                     0x20,    0x27,  0x26,
                     0x26,   0x20,  0x20,
                     0x20,  0x30,  0x78,
         0x46,      0x45,  0x45,  0x44,
      0x35, 0x20,   0x27, 0x2B, 0x20,
      0x28, 0x20, 0x29, 0x20, 0x2B,
      0x27, 0x20, 0x35, 0x44, 0x45,
         0x45, 0x46, 0x78, 0x30,
            0x20, 0x20, 0x20,


                         0x26,
                      0x26,
                   0x27,0x0A,
                 0x20, 0x20,
               0x20,  0x30,
             0x78,   0x44,
           0x41,    0x20,
         0x20,     0x30, 0x78, 0x31,
       0x37, 0x37, 0x31, 0x22, 0x20,
      0x20, 0x20, 0x2C, 0x27, 0x2C,
                   0x20,    0x20,
                  0x20,   0x20,
                 0x22,  0x31,
                0x37,  0x37,
               0x31, 0x78,
              0x30,0x20,
             0x20,
            0x44,


       0x41,                0x78,
          0x30,          0x0A,
           0x20,       0x20,
              0x20,   0x5C,
                0x77,0x5C,
             0x68, 0x5C, 0x30,
             0x5C, 0x72, 0x20,
             0x33, 0x20, 0x21,
       0x20,    0x20, 0x20,    0x22,
         0x27,  0x20, 0x27,  0x22,
          0x20, 0x20, 0x20, 0x20,
          0x21, 0x20, 0x33, 0x20,
          0x72, 0x5C, 0x30, 0x5C,
    0x68, 0x5C, 0x77, 0x5C, 0x0A, 0x20,
      0x20, 0x20, 0x20, 0x27, 0x69,
         0x66, 0x20, 0x20, 0x20,
         0x2E, 0x63, 0x68, 0x61,
       0x72, 0x27, 0x20, 0x20, 0x2B,
       0x27, 0x20, 0x27, 0x2B, 0x20,
       0x20, 0x20, 0x27, 0x72, 0x61,
          0x63, 0x68, 0x2E, 0x20,
             0x20, 0x20, 0x66,
                0x69, 0x27,



             0x0A, 0x20, 0x20,
             0x20,       0x20,
       0x20, 0x3A,       0x20, 0x20,
       0x20,                   0x2E,
       0x3D,                   0x3D,
       0x27,                   0x20,
       0x20,             0x20, 0x20,
       0x2D,       0x27, 0x3B, 0x20,
       0x3B, 0x27, 0x2D, 0x20, 0x20,
       0x20, 0x20, 0x27, 0x3D, 0x3D,
       0x2E, 0x20, 0x20,       0x20,
       0x3A, 0x0A,       0x20, 0x20,
       0x20,       0x20, 0x20, 0x20,
       0x20, 0x30, 0x78, 0x41, 0x20,
       0x20, 0x20, 0x27, 0x20, 0x20,
       0x20, 0x3A, 0x20,       0x3B,
       0x20, 0x3B,       0x20, 0x3A,
       0x20,       0x20, 0x20, 0x27,
       0x20, 0x20, 0x20, 0x41, 0x78,
       0x30, 0x0A, 0x20, 0x20, 0x20,
       0x20, 0x20, 0x20, 0x73, 0x77,
       0x69, 0x74, 0x63, 0x68, 0x20,



    0x74, 0x68, 0x65,
    0x6E, 0x3A, 0x20, 0x27, 0x2C, 0x27,
    0x20, 0x3A, 0x6E, 0x65, 0x74, 0x68,
    0x20, 0x68, 0x63, 0x74, 0x69, 0x77,
    0x73, 0x0A, 0x20, 0x20, 0x20, 0x20,
    0x20, 0x3A, 0x27, 0x63, 0x27, 0x2C,
    0x27, 0x75, 0x27, 0x2C, 0x27, 0x6D,
    0x27, 0x2C, 0x20, 0x20, 0x20, 0x20,
    0x20, 0x2C, 0x27, 0x6D, 0x27, 0x2C,
    0x27, 0x75, 0x27, 0x2C, 0x27, 0x63,
    0x27, 0x3A, 0x0A, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x3A, 0x20, 0x30,
    0x78, 0x34, 0x20, 0x74, 0x68, 0x69,
    0x73, 0x20, 0x20, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x73, 0x69,
    0x68, 0x74, 0x20, 0x34, 0x78, 0x30,
    0x20, 0x3A, 0x20, 0x0A, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x20, 0x27,
    0x20, 0x30, 0x78, 0x42, 0x31, 0x37,
    0x43, 0x68, 0x27, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x27, 0x68,
    0x43, 0x37, 0x31, 0x42, 0x78, 0x30,
    0x20, 0x27, 0x0A, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x20, 0x27,
    0x3A, 0x2D, 0x29, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    0x28, 0x2D, 0x3A, 0x27, 0x0A, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x59, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x20, 0x59, 0x0A,
    0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    0x20, 0x20, 0x20, 0x21, 0x20, 0x20,
       0x20, 0x20, 0x20, 0x20, 0x20,
       0x20, 0x20, 0x20, 0x20, 0x20,
          0x20, 0x20, 0x20, 0x20,
          0x20, 0x20, 0x20, 0x21,
             0x0A, 0x0A, 0x0A
};

char * printables[] =
{
  hello_world,
  contact
};

uint8_t main(void)
{
  setlocale(LC_ALL, "");

  uint8_t max_p = sizeof(printables) /
                  sizeof(char *);

  for(int i = 0; i < max_p; i++)
  {
    fprintf(stdout, "%s", printables[i]);
  };

  fprintf(stdout, "\n\n\n");

  int max_e = sizeof(chars) /
              sizeof(wint_t);

  for(int i = 0; i < max_e; i++)
  {
    fprintf(stderr, "%lc", chars[i]);
  };

  exit(256);
}
