/* browser.js v1.0 | @ajlkn | MIT licensed */ var browser = (function () { 'use strict' var e = { name: null, version: null, os: null, osVersion: null, touch: null, mobile: null, _canUse: null, canUse: function (n) { e._canUse || (e._canUse = document.createElement('div')) var o = e._canUse.style, r = n.charAt(0).toUpperCase() + n.slice(1) return n in o || 'Moz' + r in o || 'Webkit' + r in o || 'O' + r in o || 'ms' + r in o }, init: function () { var n, o, r, i, t = navigator.userAgent for ( n = 'other', o = 0, r = [ ['firefox', /Firefox\/([0-9\.]+)/], ['bb', /BlackBerry.+Version\/([0-9\.]+)/], ['bb', /BB[0-9]+.+Version\/([0-9\.]+)/], ['opera', /OPR\/([0-9\.]+)/], ['opera', /Opera\/([0-9\.]+)/], ['edge', /Edge\/([0-9\.]+)/], ['safari', /Version\/([0-9\.]+).+Safari/], ['chrome', /Chrome\/([0-9\.]+)/], ['ie', /MSIE ([0-9]+)/], ['ie', /Trident\/.+rv:([0-9]+)/], ], i = 0; i < r.length; i++ ) if (t.match(r[i][1])) { ;(n = r[i][0]), (o = parseFloat(RegExp.$1)) break } for ( e.name = n, e.version = o, n = 'other', o = 0, r = [ [ 'ios', /([0-9_]+) like Mac OS X/, function (e) { return e.replace('_', '.').replace('_', '') }, ], [ 'ios', /CPU like Mac OS X/, function (e) { return 0 }, ], ['wp', /Windows Phone ([0-9\.]+)/, null], ['android', /Android ([0-9\.]+)/, null], [ 'mac', /Macintosh.+Mac OS X ([0-9_]+)/, function (e) { return e.replace('_', '.').replace('_', '') }, ], ['windows', /Windows NT ([0-9\.]+)/, null], ['bb', /BlackBerry.+Version\/([0-9\.]+)/, null], ['bb', /BB[0-9]+.+Version\/([0-9\.]+)/, null], ['linux', /Linux/, null], ['bsd', /BSD/, null], ['unix', /X11/, null], ], i = 0; i < r.length; i++ ) if (t.match(r[i][1])) { ;(n = r[i][0]), (o = parseFloat(r[i][2] ? r[i][2](RegExp.$1) : RegExp.$1)) break } ;(e.os = n), (e.osVersion = o), (e.touch = 'wp' == e.os ? navigator.msMaxTouchPoints > 0 : !!('ontouchstart' in window)), (e.mobile = 'wp' == e.os || 'android' == e.os || 'ios' == e.os || 'bb' == e.os) }, } return e.init(), e })() !(function (e, n) { 'function' == typeof define && define.amd ? define([], n) : 'object' == typeof exports ? (module.exports = n()) : (e.browser = n()) })(this, function () { return browser })