????JFIF??x?x????'
| Server IP : 104.21.30.238  /  Your IP : 216.73.216.83 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/./root/usr/lib/node_modules/npm/node_modules/ansi-align/ | 
| Upload File : | 
'use strict'
const stringWidth = require('string-width')
function ansiAlign (text, opts) {
  if (!text) return text
  opts = opts || {}
  const align = opts.align || 'center'
  // short-circuit `align: 'left'` as no-op
  if (align === 'left') return text
  const split = opts.split || '\n'
  const pad = opts.pad || ' '
  const widthDiffFn = align !== 'right' ? halfDiff : fullDiff
  let returnString = false
  if (!Array.isArray(text)) {
    returnString = true
    text = String(text).split(split)
  }
  let width
  let maxWidth = 0
  text = text.map(function (str) {
    str = String(str)
    width = stringWidth(str)
    maxWidth = Math.max(width, maxWidth)
    return {
      str,
      width
    }
  }).map(function (obj) {
    return new Array(widthDiffFn(maxWidth, obj.width) + 1).join(pad) + obj.str
  })
  return returnString ? text.join(split) : text
}
ansiAlign.left = function left (text) {
  return ansiAlign(text, { align: 'left' })
}
ansiAlign.center = function center (text) {
  return ansiAlign(text, { align: 'center' })
}
ansiAlign.right = function right (text) {
  return ansiAlign(text, { align: 'right' })
}
module.exports = ansiAlign
function halfDiff (maxWidth, curWidth) {
  return Math.floor((maxWidth - curWidth) / 2)
}
function fullDiff (maxWidth, curWidth) {
  return maxWidth - curWidth
}