{"action":"created","comment":{"url":"https://api.github.com/repos/johadi10/PostIt/pulls/comments/149051109","pull_request_review_id":74383632,"id":149051109,"diff_hunk":"@@ -0,0 +1,1272 @@\n+/**\n+ * marked - a markdown parser\n+ * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)\n+ * https://github.com/chjj/marked\n+ */\n+\n+;(function() {\n+\n+/**\n+ * Block-Level Grammar\n+ */\n+\n+var block = {\n+  newline: /^\\n+/,\n+  code: /^( {4}[^\\n]+\\n*)+/,\n+  fences: noop,\n+  hr: /^( *[-*_]){3,} *(?:\\n+|$)/,\n+  heading: /^ *(#{1,6}) *([^\\n]+?) *#* *(?:\\n+|$)/,\n+  nptable: noop,\n+  lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n+  blockquote: /^( *>[^\\n]+(\\n(?!def)[^\\n]+)*\\n*)+/,\n+  list: /^( *)(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n+  html: /^ *(?:comment *(?:\\n|\\s*$)|closed *(?:\\n{2,}|\\s*$)|closing *(?:\\n{2,}|\\s*$))/,\n+  def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +[\"(]([^\\n]+)[\")])? *(?:\\n+|$)/,\n+  table: noop,\n+  paragraph: /^((?:[^\\n]+\\n?(?!hr|heading|lheading|blockquote|tag|def))+)\\n*/,\n+  text: /^[^\\n]+/\n+};\n+\n+block.bullet = /(?:[*+-]|\\d+\\.)/;\n+block.item = /^( *)(bull) [^\\n]*(?:\\n(?!\\1bull )[^\\n]*)*/;\n+block.item = replace(block.item, 'gm')\n+  (/bull/g, block.bullet)\n+  ();\n+\n+block.list = replace(block.list)\n+  (/bull/g, block.bullet)\n+  ('hr', '\\\\n+(?=\\\\1?(?:[-*_] *){3,}(?:\\\\n+|$))')\n+  ('def', '\\\\n+(?=' + block.def.source + ')')\n+  ();\n+\n+block.blockquote = replace(block.blockquote)\n+  ('def', block.def)\n+  ();\n+\n+block._tag = '(?!(?:'\n+  + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'\n+  + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'\n+  + '|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:/|[^\\\\w\\\\s@]*@)\\\\b';\n+\n+block.html = replace(block.html)\n+  ('comment', /<!--[\\s\\S]*?-->/)\n+  ('closed', /<(tag)[\\s\\S]+?<\\/\\1>/)\n+  ('closing', /<tag(?:\"[^\"]*\"|'[^']*'|[^'\">])*?>/)\n+  (/tag/g, block._tag)\n+  ();\n+\n+block.paragraph = replace(block.paragraph)\n+  ('hr', block.hr)\n+  ('heading', block.heading)\n+  ('lheading', block.lheading)\n+  ('blockquote', block.blockquote)\n+  ('tag', '<' + block._tag)\n+  ('def', block.def)\n+  ();\n+\n+/**\n+ * Normal Block Grammar\n+ */\n+\n+block.normal = merge({}, block);\n+\n+/**\n+ * GFM Block Grammar\n+ */\n+\n+block.gfm = merge({}, block.normal, {\n+  fences: /^ *(`{3,}|~{3,}) *(\\S+)? *\\n([\\s\\S]+?)\\s*\\1 *(?:\\n+|$)/,\n+  paragraph: /^/\n+});\n+\n+block.gfm.paragraph = replace(block.paragraph)\n+  ('(?!', '(?!'\n+    + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n+    + block.list.source.replace('\\\\1', '\\\\3') + '|')\n+  ();\n+\n+/**\n+ * GFM + Tables Block Grammar\n+ */\n+\n+block.tables = merge({}, block.gfm, {\n+  nptable: /^ *(\\S.*\\|.*)\\n *([-:]+ *\\|[-| :]*)\\n((?:.*\\|.*(?:\\n|$))*)\\n*/,\n+  table: /^ *\\|(.+)\\n *\\|( *[-:]+[-| :]*)\\n((?: *\\|.*(?:\\n|$))*)\\n*/\n+});\n+\n+/**\n+ * Block Lexer\n+ */\n+\n+function Lexer(options) {\n+  this.tokens = [];\n+  this.tokens.links = {};\n+  this.options = options || marked.defaults;\n+  this.rules = block.normal;\n+\n+  if (this.options.gfm) {\n+    if (this.options.tables) {\n+      this.rules = block.tables;\n+    } else {\n+      this.rules = block.gfm;\n+    }\n+  }\n+}\n+\n+/**\n+ * Expose Block Rules\n+ */\n+\n+Lexer.rules = block;\n+\n+/**\n+ * Static Lex Method\n+ */\n+\n+Lexer.lex = function(src, options) {\n+  var lexer = new Lexer(options);\n+  return lexer.lex(src);\n+};\n+\n+/**\n+ * Preprocessing\n+ */\n+\n+Lexer.prototype.lex = function(src) {\n+  src = src\n+    .replace(/\\r\\n|\\r/g, '\\n')\n+    .replace(/\\t/g, '    ')\n+    .replace(/\\u00a0/g, ' ')\n+    .replace(/\\u2424/g, '\\n');\n+\n+  return this.token(src, true);\n+};\n+\n+/**\n+ * Lexing\n+ */\n+\n+Lexer.prototype.token = function(src, top, bq) {\n+  var src = src.replace(/^ +$/gm, '')\n+    , next\n+    , loose\n+    , cap\n+    , bull\n+    , b\n+    , item\n+    , space\n+    , i\n+    , l;\n+\n+  while (src) {\n+    // newline\n+    if (cap = this.rules.newline.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      if (cap[0].length > 1) {\n+        this.tokens.push({\n+          type: 'space'\n+        });\n+      }\n+    }\n+\n+    // code\n+    if (cap = this.rules.code.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      cap = cap[0].replace(/^ {4}/gm, '');\n+      this.tokens.push({\n+        type: 'code',\n+        text: !this.options.pedantic\n+          ? cap.replace(/\\n+$/, '')\n+          : cap\n+      });\n+      continue;\n+    }\n+\n+    // fences (gfm)\n+    if (cap = this.rules.fences.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      this.tokens.push({\n+        type: 'code',\n+        lang: cap[2],\n+        text: cap[3]\n+      });\n+      continue;\n+    }\n+\n+    // heading\n+    if (cap = this.rules.heading.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      this.tokens.push({\n+        type: 'heading',\n+        depth: cap[1].length,\n+        text: cap[2]\n+      });\n+      continue;\n+    }\n+\n+    // table no leading pipe (gfm)\n+    if (top && (cap = this.rules.nptable.exec(src))) {\n+      src = src.substring(cap[0].length);\n+\n+      item = {\n+        type: 'table',\n+        header: cap[1].replace(/^ *| *\\| *$/g, '').split(/ *\\| */),\n+        align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n+        cells: cap[3].replace(/\\n$/, '').split('\\n')\n+      };\n+\n+      for (i = 0; i < item.align.length; i++) {\n+        if (/^ *-+: *$/.test(item.align[i])) {\n+          item.align[i] = 'right';\n+        } else if (/^ *:-+: *$/.test(item.align[i])) {\n+          item.align[i] = 'center';\n+        } else if (/^ *:-+ *$/.test(item.align[i])) {\n+          item.align[i] = 'left';\n+        } else {\n+          item.align[i] = null;\n+        }\n+      }\n+\n+      for (i = 0; i < item.cells.length; i++) {\n+        item.cells[i] = item.cells[i].split(/ *\\| */);\n+      }\n+\n+      this.tokens.push(item);\n+\n+      continue;\n+    }\n+\n+    // lheading\n+    if (cap = this.rules.lheading.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      this.tokens.push({\n+        type: 'heading',\n+        depth: cap[2] === '=' ? 1 : 2,\n+        text: cap[1]\n+      });\n+      continue;\n+    }\n+\n+    // hr\n+    if (cap = this.rules.hr.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      this.tokens.push({\n+        type: 'hr'\n+      });\n+      continue;\n+    }\n+\n+    // blockquote\n+    if (cap = this.rules.blockquote.exec(src)) {\n+      src = src.substring(cap[0].length);\n+\n+      this.tokens.push({\n+        type: 'blockquote_start'\n+      });\n+\n+      cap = cap[0].replace(/^ *> ?/gm, '');\n+\n+      // Pass `top` to keep the current\n+      // \"toplevel\" state. This is exactly\n+      // how markdown.pl works.\n+      this.token(cap, top, true);\n+\n+      this.tokens.push({\n+        type: 'blockquote_end'\n+      });\n+\n+      continue;\n+    }\n+\n+    // list\n+    if (cap = this.rules.list.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      bull = cap[2];\n+\n+      this.tokens.push({\n+        type: 'list_start',\n+        ordered: bull.length > 1\n+      });\n+\n+      // Get each top-level item.\n+      cap = cap[0].match(this.rules.item);\n+\n+      next = false;\n+      l = cap.length;\n+      i = 0;\n+\n+      for (; i < l; i++) {\n+        item = cap[i];\n+\n+        // Remove the list item's bullet\n+        // so it is seen as the next token.\n+        space = item.length;\n+        item = item.replace(/^ *([*+-]|\\d+\\.) +/, '');\n+\n+        // Outdent whatever the\n+        // list item contains. Hacky.\n+        if (~item.indexOf('\\n ')) {\n+          space -= item.length;\n+          item = !this.options.pedantic\n+            ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n+            : item.replace(/^ {1,4}/gm, '');\n+        }\n+\n+        // Determine whether the next list item belongs here.\n+        // Backpedal if it does not belong in this list.\n+        if (this.options.smartLists && i !== l - 1) {\n+          b = block.bullet.exec(cap[i + 1])[0];\n+          if (bull !== b && !(bull.length > 1 && b.length > 1)) {\n+            src = cap.slice(i + 1).join('\\n') + src;\n+            i = l - 1;\n+          }\n+        }\n+\n+        // Determine whether item is loose or not.\n+        // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n+        // for discount behavior.\n+        loose = next || /\\n\\n(?!\\s*$)/.test(item);\n+        if (i !== l - 1) {\n+          next = item.charAt(item.length - 1) === '\\n';\n+          if (!loose) loose = next;\n+        }\n+\n+        this.tokens.push({\n+          type: loose\n+            ? 'loose_item_start'\n+            : 'list_item_start'\n+        });\n+\n+        // Recurse.\n+        this.token(item, false, bq);\n+\n+        this.tokens.push({\n+          type: 'list_item_end'\n+        });\n+      }\n+\n+      this.tokens.push({\n+        type: 'list_end'\n+      });\n+\n+      continue;\n+    }\n+\n+    // html\n+    if (cap = this.rules.html.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      this.tokens.push({\n+        type: this.options.sanitize\n+          ? 'paragraph'\n+          : 'html',\n+        pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n+        text: cap[0]\n+      });\n+      continue;\n+    }\n+\n+    // def\n+    if ((!bq && top) && (cap = this.rules.def.exec(src))) {\n+      src = src.substring(cap[0].length);\n+      this.tokens.links[cap[1].toLowerCase()] = {\n+        href: cap[2],\n+        title: cap[3]\n+      };\n+      continue;\n+    }\n+\n+    // table (gfm)\n+    if (top && (cap = this.rules.table.exec(src))) {\n+      src = src.substring(cap[0].length);\n+\n+      item = {\n+        type: 'table',\n+        header: cap[1].replace(/^ *| *\\| *$/g, '').split(/ *\\| */),\n+        align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n+        cells: cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n')\n+      };\n+\n+      for (i = 0; i < item.align.length; i++) {\n+        if (/^ *-+: *$/.test(item.align[i])) {\n+          item.align[i] = 'right';\n+        } else if (/^ *:-+: *$/.test(item.align[i])) {\n+          item.align[i] = 'center';\n+        } else if (/^ *:-+ *$/.test(item.align[i])) {\n+          item.align[i] = 'left';\n+        } else {\n+          item.align[i] = null;\n+        }\n+      }\n+\n+      for (i = 0; i < item.cells.length; i++) {\n+        item.cells[i] = item.cells[i]\n+          .replace(/^ *\\| *| *\\| *$/g, '')\n+          .split(/ *\\| */);\n+      }\n+\n+      this.tokens.push(item);\n+\n+      continue;\n+    }\n+\n+    // top-level paragraph\n+    if (top && (cap = this.rules.paragraph.exec(src))) {\n+      src = src.substring(cap[0].length);\n+      this.tokens.push({\n+        type: 'paragraph',\n+        text: cap[1].charAt(cap[1].length - 1) === '\\n'\n+          ? cap[1].slice(0, -1)\n+          : cap[1]\n+      });\n+      continue;\n+    }\n+\n+    // text\n+    if (cap = this.rules.text.exec(src)) {\n+      // Top-level should never reach here.\n+      src = src.substring(cap[0].length);\n+      this.tokens.push({\n+        type: 'text',\n+        text: cap[0]\n+      });\n+      continue;\n+    }\n+\n+    if (src) {\n+      throw new\n+        Error('Infinite loop on byte: ' + src.charCodeAt(0));\n+    }\n+  }\n+\n+  return this.tokens;\n+};\n+\n+/**\n+ * Inline-Level Grammar\n+ */\n+\n+var inline = {\n+  escape: /^\\\\([\\\\`*{}\\[\\]()#+\\-.!_>])/,\n+  autolink: /^<([^ >]+(@|:\\/)[^ >]+)>/,\n+  url: noop,\n+  tag: /^<!--[\\s\\S]*?-->|^<\\/?\\w+(?:\"[^\"]*\"|'[^']*'|[^'\">])*?>/,\n+  link: /^!?\\[(inside)\\]\\(href\\)/,\n+  reflink: /^!?\\[(inside)\\]\\s*\\[([^\\]]*)\\]/,\n+  nolink: /^!?\\[((?:\\[[^\\]]*\\]|[^\\[\\]])*)\\]/,\n+  strong: /^__([\\s\\S]+?)__(?!_)|^\\*\\*([\\s\\S]+?)\\*\\*(?!\\*)/,\n+  em: /^\\b_((?:__|[\\s\\S])+?)_\\b|^\\*((?:\\*\\*|[\\s\\S])+?)\\*(?!\\*)/,\n+  code: /^(`+)\\s*([\\s\\S]*?[^`])\\s*\\1(?!`)/,\n+  br: /^ {2,}\\n(?!\\s*$)/,\n+  del: noop,\n+  text: /^[\\s\\S]+?(?=[\\\\<!\\[_*`]| {2,}\\n|$)/\n+};\n+\n+inline._inside = /(?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*/;\n+inline._href = /\\s*<?([\\s\\S]*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*/;\n+\n+inline.link = replace(inline.link)\n+  ('inside', inline._inside)\n+  ('href', inline._href)\n+  ();\n+\n+inline.reflink = replace(inline.reflink)\n+  ('inside', inline._inside)\n+  ();\n+\n+/**\n+ * Normal Inline Grammar\n+ */\n+\n+inline.normal = merge({}, inline);\n+\n+/**\n+ * Pedantic Inline Grammar\n+ */\n+\n+inline.pedantic = merge({}, inline.normal, {\n+  strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n+  em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/\n+});\n+\n+/**\n+ * GFM Inline Grammar\n+ */\n+\n+inline.gfm = merge({}, inline.normal, {\n+  escape: replace(inline.escape)('])', '~|])')(),\n+  url: /^(https?:\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])/,\n+  del: /^~~(?=\\S)([\\s\\S]*?\\S)~~/,\n+  text: replace(inline.text)\n+    (']|', '~]|')\n+    ('|', '|https?://|')\n+    ()\n+});\n+\n+/**\n+ * GFM + Line Breaks Inline Grammar\n+ */\n+\n+inline.breaks = merge({}, inline.gfm, {\n+  br: replace(inline.br)('{2,}', '*')(),\n+  text: replace(inline.gfm.text)('{2,}', '*')()\n+});\n+\n+/**\n+ * Inline Lexer & Compiler\n+ */\n+\n+function InlineLexer(links, options) {\n+  this.options = options || marked.defaults;\n+  this.links = links;\n+  this.rules = inline.normal;\n+  this.renderer = this.options.renderer || new Renderer;\n+  this.renderer.options = this.options;\n+\n+  if (!this.links) {\n+    throw new\n+      Error('Tokens array requires a `links` property.');\n+  }\n+\n+  if (this.options.gfm) {\n+    if (this.options.breaks) {\n+      this.rules = inline.breaks;\n+    } else {\n+      this.rules = inline.gfm;\n+    }\n+  } else if (this.options.pedantic) {\n+    this.rules = inline.pedantic;\n+  }\n+}\n+\n+/**\n+ * Expose Inline Rules\n+ */\n+\n+InlineLexer.rules = inline;\n+\n+/**\n+ * Static Lexing/Compiling Method\n+ */\n+\n+InlineLexer.output = function(src, links, options) {\n+  var inline = new InlineLexer(links, options);\n+  return inline.output(src);\n+};\n+\n+/**\n+ * Lexing/Compiling\n+ */\n+\n+InlineLexer.prototype.output = function(src) {\n+  var out = ''\n+    , link\n+    , text\n+    , href\n+    , cap;\n+\n+  while (src) {\n+    // escape\n+    if (cap = this.rules.escape.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      out += cap[1];\n+      continue;\n+    }\n+\n+    // autolink\n+    if (cap = this.rules.autolink.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      if (cap[2] === '@') {\n+        text = cap[1].charAt(6) === ':'\n+          ? this.mangle(cap[1].substring(7))\n+          : this.mangle(cap[1]);\n+        href = this.mangle('mailto:') + text;\n+      } else {\n+        text = escape(cap[1]);\n+        href = text;\n+      }\n+      out += this.renderer.link(href, null, text);\n+      continue;\n+    }\n+\n+    // url (gfm)\n+    if (!this.inLink && (cap = this.rules.url.exec(src))) {\n+      src = src.substring(cap[0].length);\n+      text = escape(cap[1]);\n+      href = text;\n+      out += this.renderer.link(href, null, text);\n+      continue;\n+    }\n+\n+    // tag\n+    if (cap = this.rules.tag.exec(src)) {\n+      if (!this.inLink && /^<a /i.test(cap[0])) {\n+        this.inLink = true;\n+      } else if (this.inLink && /^<\\/a>/i.test(cap[0])) {\n+        this.inLink = false;\n+      }\n+      src = src.substring(cap[0].length);\n+      out += this.options.sanitize\n+        ? escape(cap[0])\n+        : cap[0];\n+      continue;\n+    }\n+\n+    // link\n+    if (cap = this.rules.link.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      this.inLink = true;\n+      out += this.outputLink(cap, {\n+        href: cap[2],\n+        title: cap[3]\n+      });\n+      this.inLink = false;\n+      continue;\n+    }\n+\n+    // reflink, nolink\n+    if ((cap = this.rules.reflink.exec(src))\n+        || (cap = this.rules.nolink.exec(src))) {\n+      src = src.substring(cap[0].length);\n+      link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n+      link = this.links[link.toLowerCase()];\n+      if (!link || !link.href) {\n+        out += cap[0].charAt(0);\n+        src = cap[0].substring(1) + src;\n+        continue;\n+      }\n+      this.inLink = true;\n+      out += this.outputLink(cap, link);\n+      this.inLink = false;\n+      continue;\n+    }\n+\n+    // strong\n+    if (cap = this.rules.strong.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      out += this.renderer.strong(this.output(cap[2] || cap[1]));\n+      continue;\n+    }\n+\n+    // em\n+    if (cap = this.rules.em.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      out += this.renderer.em(this.output(cap[2] || cap[1]));\n+      continue;\n+    }\n+\n+    // code\n+    if (cap = this.rules.code.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      out += this.renderer.codespan(escape(cap[2], true));\n+      continue;\n+    }\n+\n+    // br\n+    if (cap = this.rules.br.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      out += this.renderer.br();\n+      continue;\n+    }\n+\n+    // del (gfm)\n+    if (cap = this.rules.del.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      out += this.renderer.del(this.output(cap[1]));\n+      continue;\n+    }\n+\n+    // text\n+    if (cap = this.rules.text.exec(src)) {\n+      src = src.substring(cap[0].length);\n+      out += escape(this.smartypants(cap[0]));\n+      continue;\n+    }\n+\n+    if (src) {\n+      throw new\n+        Error('Infinite loop on byte: ' + src.charCodeAt(0));\n+    }\n+  }\n+\n+  return out;\n+};\n+\n+/**\n+ * Compile Link\n+ */\n+\n+InlineLexer.prototype.outputLink = function(cap, link) {\n+  var href = escape(link.href)\n+    , title = link.title ? escape(link.title) : null;\n+\n+  return cap[0].charAt(0) !== '!'\n+    ? this.renderer.link(href, title, this.output(cap[1]))\n+    : this.renderer.image(href, title, escape(cap[1]));\n+};\n+\n+/**\n+ * Smartypants Transformations\n+ */\n+\n+InlineLexer.prototype.smartypants = function(text) {\n+  if (!this.options.smartypants) return text;\n+  return text\n+    // em-dashes\n+    .replace(/--/g, '\\u2014')\n+    // opening singles\n+    .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n+    // closing singles & apostrophes\n+    .replace(/'/g, '\\u2019')\n+    // opening doubles\n+    .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n+    // closing doubles\n+    .replace(/\"/g, '\\u201d')\n+    // ellipses\n+    .replace(/\\.{3}/g, '\\u2026');\n+};\n+\n+/**\n+ * Mangle Links\n+ */\n+\n+InlineLexer.prototype.mangle = function(text) {\n+  var out = ''\n+    , l = text.length\n+    , i = 0\n+    , ch;\n+\n+  for (; i < l; i++) {\n+    ch = text.charCodeAt(i);\n+    if (Math.random() > 0.5) {\n+      ch = 'x' + ch.toString(16);\n+    }\n+    out += '&#' + ch + ';';\n+  }\n+\n+  return out;\n+};\n+\n+/**\n+ * Renderer\n+ */\n+\n+function Renderer(options) {\n+  this.options = options || {};\n+}\n+\n+Renderer.prototype.code = function(code, lang, escaped) {\n+  if (this.options.highlight) {\n+    var out = this.options.highlight(code, lang);\n+    if (out != null && out !== code) {\n+      escaped = true;\n+      code = out;\n+    }\n+  }\n+\n+  if (!lang) {\n+    return '<pre><code>'\n+      + (escaped ? code : escape(code, true))\n+      + '\\n</code></pre>';\n+  }\n+\n+  return '<pre><code class=\"'\n+    + this.options.langPrefix\n+    + escape(lang, true)\n+    + '\">'\n+    + (escaped ? code : escape(code, true))\n+    + '\\n</code></pre>\\n';\n+};\n+\n+Renderer.prototype.blockquote = function(quote) {\n+  return '<blockquote>\\n' + quote + '</blockquote>\\n';\n+};\n+\n+Renderer.prototype.html = function(html) {\n+  return html;\n+};\n+\n+Renderer.prototype.heading = function(text, level, raw) {\n+  return '<h'\n+    + level\n+    + ' id=\"'\n+    + this.options.headerPrefix\n+    + raw.toLowerCase().replace(/[^\\w]+/g, '-')\n+    + '\">'\n+    + text\n+    + '</h'\n+    + level\n+    + '>\\n';\n+};\n+\n+Renderer.prototype.hr = function() {\n+  return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n+};\n+\n+Renderer.prototype.list = function(body, ordered) {\n+  var type = ordered ? 'ol' : 'ul';\n+  return '<' + type + '>\\n' + body + '</' + type + '>\\n';\n+};\n+\n+Renderer.prototype.listitem = function(text) {\n+  return '<li>' + text + '</li>\\n';\n+};\n+\n+Renderer.prototype.paragraph = function(text) {\n+  return '<p>' + text + '</p>\\n';\n+};\n+\n+Renderer.prototype.table = function(header, body) {\n+  return '<table>\\n'\n+    + '<thead>\\n'\n+    + header\n+    + '</thead>\\n'\n+    + '<tbody>\\n'\n+    + body\n+    + '</tbody>\\n'\n+    + '</table>\\n';\n+};\n+\n+Renderer.prototype.tablerow = function(content) {\n+  return '<tr>\\n' + content + '</tr>\\n';\n+};\n+\n+Renderer.prototype.tablecell = function(content, flags) {\n+  var type = flags.header ? 'th' : 'td';\n+  var tag = flags.align\n+    ? '<' + type + ' style=\"text-align:' + flags.align + '\">'\n+    : '<' + type + '>';\n+  return tag + content + '</' + type + '>\\n';\n+};\n+\n+// span level renderer\n+Renderer.prototype.strong = function(text) {\n+  return '<strong>' + text + '</strong>';\n+};\n+\n+Renderer.prototype.em = function(text) {\n+  return '<em>' + text + '</em>';\n+};\n+\n+Renderer.prototype.codespan = function(text) {\n+  return '<code>' + text + '</code>';\n+};\n+\n+Renderer.prototype.br = function() {\n+  return this.options.xhtml ? '<br/>' : '<br>';\n+};\n+\n+Renderer.prototype.del = function(text) {\n+  return '<del>' + text + '</del>';\n+};\n+\n+Renderer.prototype.link = function(href, title, text) {\n+  if (this.options.sanitize) {\n+    try {\n+      var prot = decodeURIComponent(unescape(href))\n+        .replace(/[^\\w:]/g, '')\n+        .toLowerCase();\n+    } catch (e) {\n+      return '';\n+    }\n+    if (prot.indexOf('javascript:') === 0) {\n+      return '';\n+    }\n+  }\n+  var out = '<a href=\"' + href + '\"';\n+  if (title) {\n+    out += ' title=\"' + title + '\"';\n+  }\n+  out += '>' + text + '</a>';\n+  return out;\n+};\n+\n+Renderer.prototype.image = function(href, title, text) {\n+  var out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n+  if (title) {\n+    out += ' title=\"' + title + '\"';\n+  }\n+  out += this.options.xhtml ? '/>' : '>';\n+  return out;\n+};\n+\n+/**\n+ * Parsing & Compiling\n+ */\n+\n+function Parser(options) {\n+  this.tokens = [];\n+  this.token = null;\n+  this.options = options || marked.defaults;\n+  this.options.renderer = this.options.renderer || new Renderer;\n+  this.renderer = this.options.renderer;\n+  this.renderer.options = this.options;\n+}\n+\n+/**\n+ * Static Parse Method\n+ */\n+\n+Parser.parse = function(src, options, renderer) {\n+  var parser = new Parser(options, renderer);\n+  return parser.parse(src);\n+};\n+\n+/**\n+ * Parse Loop\n+ */\n+\n+Parser.prototype.parse = function(src) {\n+  this.inline = new InlineLexer(src.links, this.options, this.renderer);\n+  this.tokens = src.reverse();\n+\n+  var out = '';\n+  while (this.next()) {\n+    out += this.tok();\n+  }\n+\n+  return out;\n+};\n+\n+/**\n+ * Next Token\n+ */\n+\n+Parser.prototype.next = function() {\n+  return this.token = this.tokens.pop();\n+};\n+\n+/**\n+ * Preview Next Token\n+ */\n+\n+Parser.prototype.peek = function() {\n+  return this.tokens[this.tokens.length - 1] || 0;\n+};\n+\n+/**\n+ * Parse Text Tokens\n+ */\n+\n+Parser.prototype.parseText = function() {\n+  var body = this.token.text;\n+\n+  while (this.peek().type === 'text') {\n+    body += '\\n' + this.next().text;\n+  }\n+\n+  return this.inline.output(body);\n+};\n+\n+/**\n+ * Parse Current Token\n+ */\n+\n+Parser.prototype.tok = function() {\n+  switch (this.token.type) {\n+    case 'space': {\n+      return '';\n+    }\n+    case 'hr': {\n+      return this.renderer.hr();\n+    }\n+    case 'heading': {\n+      return this.renderer.heading(\n+        this.inline.output(this.token.text),\n+        this.token.depth,\n+        this.token.text);\n+    }\n+    case 'code': {\n+      return this.renderer.code(this.token.text,\n+        this.token.lang,\n+        this.token.escaped);\n+    }\n+    case 'table': {\n+      var header = ''\n+        , body = ''\n+        , i\n+        , row\n+        , cell\n+        , flags\n+        , j;\n+\n+      // header\n+      cell = '';\n+      for (i = 0; i < this.token.header.length; i++) {\n+        flags = { header: true, align: this.token.align[i] };\n+        cell += this.renderer.tablecell(\n+          this.inline.output(this.token.header[i]),\n+          { header: true, align: this.token.align[i] }\n+        );\n+      }\n+      header += this.renderer.tablerow(cell);\n+\n+      for (i = 0; i < this.token.cells.length; i++) {\n+        row = this.token.cells[i];\n+\n+        cell = '';\n+        for (j = 0; j < row.length; j++) {\n+          cell += this.renderer.tablecell(\n+            this.inline.output(row[j]),\n+            { header: false, align: this.token.align[j] }\n+          );\n+        }\n+\n+        body += this.renderer.tablerow(cell);\n+      }\n+      return this.renderer.table(header, body);\n+    }\n+    case 'blockquote_start': {\n+      var body = '';\n+\n+      while (this.next().type !== 'blockquote_end') {\n+        body += this.tok();\n+      }\n+\n+      return this.renderer.blockquote(body);\n+    }\n+    case 'list_start': {\n+      var body = ''\n+        , ordered = this.token.ordered;\n+\n+      while (this.next().type !== 'list_end') {\n+        body += this.tok();\n+      }\n+\n+      return this.renderer.list(body, ordered);\n+    }\n+    case 'list_item_start': {\n+      var body = '';\n+\n+      while (this.next().type !== 'list_item_end') {\n+        body += this.token.type === 'text'\n+          ? this.parseText()\n+          : this.tok();\n+      }\n+\n+      return this.renderer.listitem(body);\n+    }\n+    case 'loose_item_start': {\n+      var body = '';\n+\n+      while (this.next().type !== 'list_item_end') {\n+        body += this.tok();\n+      }\n+\n+      return this.renderer.listitem(body);\n+    }\n+    case 'html': {\n+      var html = !this.token.pre && !this.options.pedantic\n+        ? this.inline.output(this.token.text)\n+        : this.token.text;\n+      return this.renderer.html(html);\n+    }\n+    case 'paragraph': {\n+      return this.renderer.paragraph(this.inline.output(this.token.text));\n+    }\n+    case 'text': {\n+      return this.renderer.paragraph(this.parseText());\n+    }\n+  }\n+};\n+\n+/**\n+ * Helpers\n+ */\n+\n+function escape(html, encode) {\n+  return html\n+    .replace(!encode ? /&(?!#?\\w+;)/g : /&/g, '&amp;')\n+    .replace(/</g, '&lt;')\n+    .replace(/>/g, '&gt;')\n+    .replace(/\"/g, '&quot;')\n+    .replace(/'/g, '&#39;');\n+}\n+\n+function unescape(html) {\n+  return html.replace(/&([#\\w]+);/g, function(_, n) {\n+    n = n.toLowerCase();\n+    if (n === 'colon') return ':';\n+    if (n.charAt(0) === '#') {\n+      return n.charAt(1) === 'x'\n+        ? String.fromCharCode(parseInt(n.substring(2), 16))\n+        : String.fromCharCode(+n.substring(1));\n+    }\n+    return '';\n+  });\n+}\n+\n+function replace(regex, opt) {\n+  regex = regex.source;\n+  opt = opt || '';\n+  return function self(name, val) {\n+    if (!name) return new RegExp(regex, opt);\n+    val = val.source || val;\n+    val = val.replace(/(^|[^\\[])\\^/g, '$1');\n+    regex = regex.replace(name, val);\n+    return self;\n+  };\n+}\n+\n+function noop() {}\n+noop.exec = noop;\n+\n+function merge(obj) {\n+  var i = 1\n+    , target\n+    , key;\n+\n+  for (; i < arguments.length; i++) {\n+    target = arguments[i];\n+    for (key in target) {\n+      if (Object.prototype.hasOwnProperty.call(target, key)) {\n+        obj[key] = target[key];\n+      }\n+    }\n+  }\n+\n+  return obj;\n+}\n+\n+\n+/**\n+ * Marked\n+ */\n+\n+function marked(src, opt, callback) {\n+  if (callback || typeof opt === 'function') {\n+    if (!callback) {\n+      callback = opt;\n+      opt = null;\n+    }\n+\n+    opt = merge({}, marked.defaults, opt || {});\n+\n+    var highlight = opt.highlight\n+      , tokens\n+      , pending\n+      , i = 0;\n+\n+    try {\n+      tokens = Lexer.lex(src, opt)\n+    } catch (e) {\n+      return callback(e);\n+    }\n+\n+    pending = tokens.length;\n+\n+    var done = function(err) {\n+      if (err) {\n+        opt.highlight = highlight;\n+        return callback(err);\n+      }\n+\n+      var out;\n+\n+      try {\n+        out = Parser.parse(tokens, opt);\n+      } catch (e) {\n+        err = e;\n+      }\n+\n+      opt.highlight = highlight;\n+\n+      return err\n+        ? callback(err)\n+        : callback(null, out);\n+    };\n+\n+    if (!highlight || highlight.length < 3) {\n+      return done();\n+    }\n+\n+    delete opt.highlight;\n+\n+    if (!pending) return done();\n+\n+    for (; i < tokens.length; i++) {\n+      (function(token) {\n+        if (token.type !== 'code') {\n+          return --pending || done();\n+        }\n+        return highlight(token.text, token.lang, function(err, code) {\n+          if (err) return done(err);\n+          if (code == null || code === token.text) {\n+            return --pending || done();\n+          }\n+          token.text = code;\n+          token.escaped = true;\n+          --pending || done();\n+        });\n+      })(tokens[i]);\n+    }\n+\n+    return;\n+  }\n+  try {\n+    if (opt) opt = merge({}, marked.defaults, opt);\n+    return Parser.parse(Lexer.lex(src, opt), opt);\n+  } catch (e) {\n+    e.message += '\\nPlease report this to https://github.com/chjj/marked.';\n+    if ((opt || marked.defaults).silent) {\n+      return '<p>An error occured:</p><pre>'\n+        + escape(e.message + '', true)\n+        + '</pre>';\n+    }\n+    throw e;\n+  }\n+}\n+\n+/**\n+ * Options\n+ */\n+\n+marked.options =\n+marked.setOptions = function(opt) {\n+  merge(marked.defaults, opt);\n+  return marked;\n+};\n+\n+marked.defaults = {\n+  gfm: true,\n+  tables: true,\n+  breaks: false,\n+  pedantic: false,\n+  sanitize: false,\n+  smartLists: false,\n+  silent: false,\n+  highlight: null,\n+  langPrefix: 'lang-',\n+  smartypants: false,\n+  headerPrefix: '',\n+  renderer: new Renderer,\n+  xhtml: false\n+};\n+\n+/**\n+ * Expose\n+ */\n+\n+marked.Parser = Parser;\n+marked.parser = Parser.parse;\n+\n+marked.Renderer = Renderer;\n+\n+marked.Lexer = Lexer;\n+marked.lexer = Lexer.lex;\n+\n+marked.InlineLexer = InlineLexer;\n+marked.inlineLexer = InlineLexer.output;\n+\n+marked.parse = marked;\n+\n+if (typeof module !== 'undefined' && typeof exports === 'object') {\n+  module.exports = marked;\n+} else if (typeof define === 'function' && define.amd) {\n+  define(function() { return marked; });","path":"public/api-docs/lib/marked.js","position":1265,"original_position":1265,"commit_id":"7676a88fa4c4564c24385b0911d2179d2ced492b","original_commit_id":"7676a88fa4c4564c24385b0911d2179d2ced492b","user":{"login":"houndci-bot","id":6697940,"avatar_url":"https://avatars0.githubusercontent.com/u/6697940?v=4","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"Expected indentation of 4 spaces but found 2                                                                                                                           indent<br>'define' is not defined                                                                                                                                                no-undef<br>Unexpected function expression                                                                                                                                         prefer-arrow-callback<br>Unexpected unnamed function                                                                                                                                            func-names<br>Missing space before function parentheses                                                                                                                              space-before-function-paren","created_at":"2017-11-06T11:06:06Z","updated_at":"2017-11-06T11:06:08Z","html_url":"https://github.com/johadi10/PostIt/pull/26#discussion_r149051109","pull_request_url":"https://api.github.com/repos/johadi10/PostIt/pulls/26","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/johadi10/PostIt/pulls/comments/149051109"},"html":{"href":"https://github.com/johadi10/PostIt/pull/26#discussion_r149051109"},"pull_request":{"href":"https://api.github.com/repos/johadi10/PostIt/pulls/26"}}},"pull_request":{"url":"https://api.github.com/repos/johadi10/PostIt/pulls/26","id":149664334,"html_url":"https://github.com/johadi10/PostIt/pull/26","diff_url":"https://github.com/johadi10/PostIt/pull/26.diff","patch_url":"https://github.com/johadi10/PostIt/pull/26.patch","issue_url":"https://api.github.com/repos/johadi10/PostIt/issues/26","number":26,"state":"open","locked":false,"title":"Chore/feedback 2 implementation","user":{"login":"johadi10","id":20380537,"avatar_url":"https://avatars1.githubusercontent.com/u/20380537?v=4","gravatar_id":"","url":"https://api.github.com/users/johadi10","html_url":"https://github.com/johadi10","followers_url":"https://api.github.com/users/johadi10/followers","following_url":"https://api.github.com/users/johadi10/following{/other_user}","gists_url":"https://api.github.com/users/johadi10/gists{/gist_id}","starred_url":"https://api.github.com/users/johadi10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johadi10/subscriptions","organizations_url":"https://api.github.com/users/johadi10/orgs","repos_url":"https://api.github.com/users/johadi10/repos","events_url":"https://api.github.com/users/johadi10/events{/privacy}","received_events_url":"https://api.github.com/users/johadi10/received_events","type":"User","site_admin":false},"body":"#### What does this PR do?\r\nImplements the check point defence feedback\r\n#### Description of Task to be completed?\r\nN/A\r\n#### How should this be manually tested?\r\nN/A\r\n#### Any background context you want to provide?\r\nThe model's unit testing has been implemented\r\n#### What are the relevant pivotal tracker stories?\r\nN/A\r\n#### Screenshots (if appropriate)\r\nN/A\r\n#### Questions:\r\nN/A","created_at":"2017-10-30T23:43:16Z","updated_at":"2017-11-06T11:06:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"509faeda51efb357b9263f9f0a0ceba79abef145","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/johadi10/PostIt/pulls/26/commits","review_comments_url":"https://api.github.com/repos/johadi10/PostIt/pulls/26/comments","review_comment_url":"https://api.github.com/repos/johadi10/PostIt/pulls/comments{/number}","comments_url":"https://api.github.com/repos/johadi10/PostIt/issues/26/comments","statuses_url":"https://api.github.com/repos/johadi10/PostIt/statuses/7676a88fa4c4564c24385b0911d2179d2ced492b","head":{"label":"johadi10:chore/feedback-2-implementation","ref":"chore/feedback-2-implementation","sha":"7676a88fa4c4564c24385b0911d2179d2ced492b","user":{"login":"johadi10","id":20380537,"avatar_url":"https://avatars1.githubusercontent.com/u/20380537?v=4","gravatar_id":"","url":"https://api.github.com/users/johadi10","html_url":"https://github.com/johadi10","followers_url":"https://api.github.com/users/johadi10/followers","following_url":"https://api.github.com/users/johadi10/following{/other_user}","gists_url":"https://api.github.com/users/johadi10/gists{/gist_id}","starred_url":"https://api.github.com/users/johadi10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johadi10/subscriptions","organizations_url":"https://api.github.com/users/johadi10/orgs","repos_url":"https://api.github.com/users/johadi10/repos","events_url":"https://api.github.com/users/johadi10/events{/privacy}","received_events_url":"https://api.github.com/users/johadi10/received_events","type":"User","site_admin":false},"repo":{"id":96242124,"name":"PostIt","full_name":"johadi10/PostIt","owner":{"login":"johadi10","id":20380537,"avatar_url":"https://avatars1.githubusercontent.com/u/20380537?v=4","gravatar_id":"","url":"https://api.github.com/users/johadi10","html_url":"https://github.com/johadi10","followers_url":"https://api.github.com/users/johadi10/followers","following_url":"https://api.github.com/users/johadi10/following{/other_user}","gists_url":"https://api.github.com/users/johadi10/gists{/gist_id}","starred_url":"https://api.github.com/users/johadi10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johadi10/subscriptions","organizations_url":"https://api.github.com/users/johadi10/orgs","repos_url":"https://api.github.com/users/johadi10/repos","events_url":"https://api.github.com/users/johadi10/events{/privacy}","received_events_url":"https://api.github.com/users/johadi10/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/johadi10/PostIt","description":"Postit is a full stack application built with JavaScript (ES6), Node.js, Express, PostgreSQL, Sequelize ORM and React-Redux. The System allows registered users to send notifications to one another via groups they belong to","fork":false,"url":"https://api.github.com/repos/johadi10/PostIt","forks_url":"https://api.github.com/repos/johadi10/PostIt/forks","keys_url":"https://api.github.com/repos/johadi10/PostIt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/johadi10/PostIt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/johadi10/PostIt/teams","hooks_url":"https://api.github.com/repos/johadi10/PostIt/hooks","issue_events_url":"https://api.github.com/repos/johadi10/PostIt/issues/events{/number}","events_url":"https://api.github.com/repos/johadi10/PostIt/events","assignees_url":"https://api.github.com/repos/johadi10/PostIt/assignees{/user}","branches_url":"https://api.github.com/repos/johadi10/PostIt/branches{/branch}","tags_url":"https://api.github.com/repos/johadi10/PostIt/tags","blobs_url":"https://api.github.com/repos/johadi10/PostIt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/johadi10/PostIt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/johadi10/PostIt/git/refs{/sha}","trees_url":"https://api.github.com/repos/johadi10/PostIt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/johadi10/PostIt/statuses/{sha}","languages_url":"https://api.github.com/repos/johadi10/PostIt/languages","stargazers_url":"https://api.github.com/repos/johadi10/PostIt/stargazers","contributors_url":"https://api.github.com/repos/johadi10/PostIt/contributors","subscribers_url":"https://api.github.com/repos/johadi10/PostIt/subscribers","subscription_url":"https://api.github.com/repos/johadi10/PostIt/subscription","commits_url":"https://api.github.com/repos/johadi10/PostIt/commits{/sha}","git_commits_url":"https://api.github.com/repos/johadi10/PostIt/git/commits{/sha}","comments_url":"https://api.github.com/repos/johadi10/PostIt/comments{/number}","issue_comment_url":"https://api.github.com/repos/johadi10/PostIt/issues/comments{/number}","contents_url":"https://api.github.com/repos/johadi10/PostIt/contents/{+path}","compare_url":"https://api.github.com/repos/johadi10/PostIt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/johadi10/PostIt/merges","archive_url":"https://api.github.com/repos/johadi10/PostIt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/johadi10/PostIt/downloads","issues_url":"https://api.github.com/repos/johadi10/PostIt/issues{/number}","pulls_url":"https://api.github.com/repos/johadi10/PostIt/pulls{/number}","milestones_url":"https://api.github.com/repos/johadi10/PostIt/milestones{/number}","notifications_url":"https://api.github.com/repos/johadi10/PostIt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/johadi10/PostIt/labels{/name}","releases_url":"https://api.github.com/repos/johadi10/PostIt/releases{/id}","deployments_url":"https://api.github.com/repos/johadi10/PostIt/deployments","created_at":"2017-07-04T17:56:35Z","updated_at":"2017-09-10T15:48:23Z","pushed_at":"2017-11-06T11:04:41Z","git_url":"git://github.com/johadi10/PostIt.git","ssh_url":"git@github.com:johadi10/PostIt.git","clone_url":"https://github.com/johadi10/PostIt.git","svn_url":"https://github.com/johadi10/PostIt","homepage":"https://jimoh-postit.herokuapp.com","size":13544,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":0,"default_branch":"develop"}},"base":{"label":"johadi10:develop","ref":"develop","sha":"5ea343f27c5c26d2a6f65d1a8b1860a3d5237eca","user":{"login":"johadi10","id":20380537,"avatar_url":"https://avatars1.githubusercontent.com/u/20380537?v=4","gravatar_id":"","url":"https://api.github.com/users/johadi10","html_url":"https://github.com/johadi10","followers_url":"https://api.github.com/users/johadi10/followers","following_url":"https://api.github.com/users/johadi10/following{/other_user}","gists_url":"https://api.github.com/users/johadi10/gists{/gist_id}","starred_url":"https://api.github.com/users/johadi10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johadi10/subscriptions","organizations_url":"https://api.github.com/users/johadi10/orgs","repos_url":"https://api.github.com/users/johadi10/repos","events_url":"https://api.github.com/users/johadi10/events{/privacy}","received_events_url":"https://api.github.com/users/johadi10/received_events","type":"User","site_admin":false},"repo":{"id":96242124,"name":"PostIt","full_name":"johadi10/PostIt","owner":{"login":"johadi10","id":20380537,"avatar_url":"https://avatars1.githubusercontent.com/u/20380537?v=4","gravatar_id":"","url":"https://api.github.com/users/johadi10","html_url":"https://github.com/johadi10","followers_url":"https://api.github.com/users/johadi10/followers","following_url":"https://api.github.com/users/johadi10/following{/other_user}","gists_url":"https://api.github.com/users/johadi10/gists{/gist_id}","starred_url":"https://api.github.com/users/johadi10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johadi10/subscriptions","organizations_url":"https://api.github.com/users/johadi10/orgs","repos_url":"https://api.github.com/users/johadi10/repos","events_url":"https://api.github.com/users/johadi10/events{/privacy}","received_events_url":"https://api.github.com/users/johadi10/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/johadi10/PostIt","description":"Postit is a full stack application built with JavaScript (ES6), Node.js, Express, PostgreSQL, Sequelize ORM and React-Redux. The System allows registered users to send notifications to one another via groups they belong to","fork":false,"url":"https://api.github.com/repos/johadi10/PostIt","forks_url":"https://api.github.com/repos/johadi10/PostIt/forks","keys_url":"https://api.github.com/repos/johadi10/PostIt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/johadi10/PostIt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/johadi10/PostIt/teams","hooks_url":"https://api.github.com/repos/johadi10/PostIt/hooks","issue_events_url":"https://api.github.com/repos/johadi10/PostIt/issues/events{/number}","events_url":"https://api.github.com/repos/johadi10/PostIt/events","assignees_url":"https://api.github.com/repos/johadi10/PostIt/assignees{/user}","branches_url":"https://api.github.com/repos/johadi10/PostIt/branches{/branch}","tags_url":"https://api.github.com/repos/johadi10/PostIt/tags","blobs_url":"https://api.github.com/repos/johadi10/PostIt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/johadi10/PostIt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/johadi10/PostIt/git/refs{/sha}","trees_url":"https://api.github.com/repos/johadi10/PostIt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/johadi10/PostIt/statuses/{sha}","languages_url":"https://api.github.com/repos/johadi10/PostIt/languages","stargazers_url":"https://api.github.com/repos/johadi10/PostIt/stargazers","contributors_url":"https://api.github.com/repos/johadi10/PostIt/contributors","subscribers_url":"https://api.github.com/repos/johadi10/PostIt/subscribers","subscription_url":"https://api.github.com/repos/johadi10/PostIt/subscription","commits_url":"https://api.github.com/repos/johadi10/PostIt/commits{/sha}","git_commits_url":"https://api.github.com/repos/johadi10/PostIt/git/commits{/sha}","comments_url":"https://api.github.com/repos/johadi10/PostIt/comments{/number}","issue_comment_url":"https://api.github.com/repos/johadi10/PostIt/issues/comments{/number}","contents_url":"https://api.github.com/repos/johadi10/PostIt/contents/{+path}","compare_url":"https://api.github.com/repos/johadi10/PostIt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/johadi10/PostIt/merges","archive_url":"https://api.github.com/repos/johadi10/PostIt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/johadi10/PostIt/downloads","issues_url":"https://api.github.com/repos/johadi10/PostIt/issues{/number}","pulls_url":"https://api.github.com/repos/johadi10/PostIt/pulls{/number}","milestones_url":"https://api.github.com/repos/johadi10/PostIt/milestones{/number}","notifications_url":"https://api.github.com/repos/johadi10/PostIt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/johadi10/PostIt/labels{/name}","releases_url":"https://api.github.com/repos/johadi10/PostIt/releases{/id}","deployments_url":"https://api.github.com/repos/johadi10/PostIt/deployments","created_at":"2017-07-04T17:56:35Z","updated_at":"2017-09-10T15:48:23Z","pushed_at":"2017-11-06T11:04:41Z","git_url":"git://github.com/johadi10/PostIt.git","ssh_url":"git@github.com:johadi10/PostIt.git","clone_url":"https://github.com/johadi10/PostIt.git","svn_url":"https://github.com/johadi10/PostIt","homepage":"https://jimoh-postit.herokuapp.com","size":13544,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/johadi10/PostIt/pulls/26"},"html":{"href":"https://github.com/johadi10/PostIt/pull/26"},"issue":{"href":"https://api.github.com/repos/johadi10/PostIt/issues/26"},"comments":{"href":"https://api.github.com/repos/johadi10/PostIt/issues/26/comments"},"review_comments":{"href":"https://api.github.com/repos/johadi10/PostIt/pulls/26/comments"},"review_comment":{"href":"https://api.github.com/repos/johadi10/PostIt/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/johadi10/PostIt/pulls/26/commits"},"statuses":{"href":"https://api.github.com/repos/johadi10/PostIt/statuses/7676a88fa4c4564c24385b0911d2179d2ced492b"}},"author_association":"OWNER"}}
{"actor":{"display_login":"houndci-bot"}}