{"version":3,"sources":["Javascripts/desktop.bundle/machineInfo.js"],"names":["_useFlash","on","event","_machineLabelName","_machineLabel","container","tipPositionAt","$this","data","type","_machineNonceName","MachineSecret","$thisEl","attr","$tipContainer","length","$","dp_addAllAttributes","html","tip","_machineNonce","value","_sequenceNonceName","Object","find","_sequenceNonce","hide","animate","opacity","offset","prototype","e","_machineLabe","setFlashCookie","machineLabel","related","wrapper","elem","storeData","navigator","i","platform","platforms","this","getMachineFingerprint","_machineFingerprint","regex","test","property","Desktop","Mac","Windows","Linux","Android","Tablet","Phone","iOS","iPad","iPod","Standalone","window","standalone","identity","document","cookieEnabled","dp_exclude","dp_attr","dp_useVB","dp_getMimeTypes","dp_mimeTypes","mimeTypes","dp_getPlugins","dp_plugins","dp_detectPlugin","is","init"],"mappings":"4iBA6CQ,OAACA,KAAUC,GAAE,yBAAK,SAAAC,GACjBC,IACAC,EAAgBC,EADhBF,EAAAA,EAAAA,MAAwBG,EAAAC,EAAAC,KAAA,iBAExBJ,GAAoB,cAApBA,EAAaK,KAAW,CACxBC,IAAAA,kCAdAC,EAAaC,EAAOC,KAAA,sDAITC,EAAeC,SAAQD,EAASE,EAAA,IAAAJ,EAAAC,KAAA,SAC5CI,EAAAA,EAAqBC,OAEzB,OAAAC,EAOKT,CAAwBH,GAExBa,GAAAA,EAAcC,KAAQ,OACD,IAArBC,GACef,EAAMgB,KAAAA,OAAQC,KAAA,oBAAAN,KAAAC,GAC7BM,EAAeJ,KAAM,OAAIK,OAAAC,QAAA,CAAAC,QAAA,QAAA,kYAoBlCC,OAAA,cAIcC,EAAU3B,YAAAA,SAAiB4B,GACjBC,EAAAA,UAGVF,EAAUR,KAAAA,MAAAA,yBAKVQ,QAAUG,EAAAA,eAAiB/B,EAAUgC,UAEhCC,SAAAA,SAAAC,EAAA,0BAeXC,MACAC,SAAUC,GACVD,IAEJE,EAAAC,EAFIH,EAAe5B,KAAAA,UACf4B,EAASI,EAAMpB,6CAOZqB,MADXhC,EAAuB+B,EAACE,IACRC,UAAmBJ,EAAAK,MAAAC,KAAAR,EAAAE,EAAAO,WAOlCL,KAAAM,QAAAN,KAAAO,KAAAP,KAAAQ,SAAAR,KAAAS,QAAAT,KAAAU,QAIGV,KAAOW,OAAKnD,KAAAA,KAKZwC,KAAOY,OAAKnD,KAAAA,UAAmBuC,KAAAW,OAK/BX,KAAOa,IAAK9C,KAAAA,QAAiBiC,KAAAc,MAAAd,KAAAe,KAMhCf,KAAAgB,aAAAC,OAAArB,UAAAsB,wBAQDlD,SAAcmB,WACVgB,MAAW,UACdgB,SAAA,WAQOd,SAAOT,WACPwB,MAAAA,QACAC,SAAAA,4CAURF,SAASG,QAOLC,CACAC,SAAW,wDAUfnB,SAASoB,YACDC,MAAAA,WACA9B,SAAU+B,WAOlB,qBAEAxB,MAASyB,OACDC,SAAAA,OAOJ,CACJxB,SAAA,4CASI,CACJA,SAAA,0BAEAc,SAASW,eAILC,GAAAC","file":"ipmain.min.js","sourcesContent":["/**\r\n* Copyright(c) 2004-2010 Entrust Corp.\r\n* All rights reserved.\r\n*\r\n* This software is the confidential and proprietary information of\r\n* Entrust Corp. (\"Confidential Information\"). You shall not\r\n* disclose such Confidential Information and shall use it only in\r\n* accordance with the terms of the license agreement you entered into\r\n* with Entrust Corp.\r\n*/\r\n\r\n/**\r\n* Class: MachineSecret\r\n* \r\n* Description: This class can be used to determine the client's\r\n* machine fingerprint. It also can determine whether flash\r\n* cookies should be used (i.e. when browser cookies are not supported\r\n* and Flash Shockwave 9 or greater is installed) as a persistent\r\n* storage mechanism and therefore provides the mechanisms to read\r\n* the associates flash cookie values.\r\n* \r\n* Example Usage:\r\n* \r\n* var secret = new MachineSecret(true);\r\n* var useFlash = secret.getUseFlash();\r\n* var machineFingerprint = secret.getMachineFingerprint();\r\n* \r\n* if (useFlash)\r\n* {\r\n* flashMachineLabel = secret.getMachineLabel();\r\n* flashMacineNonce = secret.getMachineNonce();\r\n* flashSequenceNonce = secret.getSequenceNonce();\r\n* }\r\n*/\r\n\r\nfunction MachineSecret(read) {\r\n\r\n // gather the browser properties which\r\n // will make up the machine fingerprint\r\n if (typeof read != \"undefined\" && read == true) {\r\n dp_addAllAttributes();\r\n this._machineFingerprint = dp_attrs;\r\n }\r\n\r\n //initialize all local variables\r\n this._useFlash = false;\r\n this._machineLabelName = \"ml\";\r\n this._machineLabel = new Object();\r\n this._machineLabel.value = \"\";\r\n this._machineNonceName = \"mn\";\r\n this._machineNonce = new Object();\r\n this._machineNonce.value = \"\";\r\n this._sequenceNonceName = \"sn\";\r\n this._sequenceNonce = new Object();\r\n this._sequenceNonce.value = \"\";\r\n\r\n // if browser cookies are not supported but the proper\r\n // version of flash macromedia player is (9.0), set the useFlash\r\n // flag and read the machine label, machine nonce and sequence\r\n // nonce from the flash cookies.\r\n /*if (DetectFlashVer(9, 0, 0) == true) {\r\n\r\n this._useFlash = true;\r\n\r\n if (typeof read != \"undefined\" && read == true) {\r\n\r\n retrieveData(this._machineLabelName,\r\n this._machineLabel);\r\n retrieveData(this._machineNonceName,\r\n this._machineNonce);\r\n retrieveData(this._sequenceNonceName,\r\n this._sequenceNonce);\r\n }\r\n }*/\r\n}\r\n\r\nMachineSecret.prototype._machineFingerprint;\r\nMachineSecret.prototype._useFlash;\r\nMachineSecret.prototype._machineLabelName;\r\nMachineSecret.prototype._machineLabe;\r\nMachineSecret.prototype._machineNonceName;\r\nMachineSecret.prototype._machineNonce;\r\nMachineSecret.prototype._sequenceNonceName;\r\nMachineSecret.prototype._sequenceNonce;\r\n\r\n// Set the flash cookie (machine label, nonce, and sequence\r\n// nonce) if enabled\r\nMachineSecret.prototype.setFlashCookie = function (machineLabel,\r\n machineNonce,\r\n sequenceNonce) {\r\n\r\n if (this._useFlash) {\r\n\r\n storeData(this._machineLabelName, machineLabel);\r\n storeData(this._machineNonceName, machineNonce);\r\n storeData(this._sequenceNonceName, sequenceNonce);\r\n }\r\n};\r\n\r\n// Delete the flash cookie (machine label, nonce, and sequence\r\n// nonce) if flash is enabled\r\nMachineSecret.prototype.clearFlashCookie = function () {\r\n if (this._useFlash) {\r\n var elem = new Object();\r\n elem.value = \"\";\r\n storeData(this._machineLabelName, elem);\r\n storeData(this._machineNonceName, elem);\r\n storeData(this._sequenceNonceName.elem);\r\n }\r\n};\r\n\r\n\r\n// Return the machine fingerprint defined by the browser properties\r\nMachineSecret.prototype.getMachineFingerprint = function () {\r\n return this._machineFingerprint;\r\n};\r\n\r\n// Return the flag indicating whether to use flash cookies for\r\n// persistent storage\r\nMachineSecret.prototype.getUseFlash = function () {\r\n return this._useFlash;\r\n};\r\n\r\n// Return the machine label name identifying the flash cookie\r\nMachineSecret.prototype.getMachineLabelName = function () {\r\n return this._machineLabelName;\r\n};\r\n\r\n// Return the machine label stored within the flash cookies\r\nMachineSecret.prototype.getMachineLabel = function () {\r\n return this._machineLabel.value;\r\n};\r\n\r\n// Return the machine nonce name identifying the flash cookie\r\nMachineSecret.prototype.getMachineNonceName = function () {\r\n return this._machineNonceName;\r\n};\r\n\r\n// Return the machine nonce stored within the flash cookies\r\nMachineSecret.prototype.getMachineNonce = function () {\r\n return this._machineNonce.value;\r\n};\r\n\r\n// Return the sequence nonce name identifying the flash cookie\r\nMachineSecret.prototype.getSequenceNonceName = function () {\r\n return this._sequenceNonceName;\r\n};\r\n\r\n// Return the sequence nonce stored within the flash cookies\r\nMachineSecret.prototype.getSequenceNonce = function () {\r\n return this._sequenceNonce.value;\r\n};\r\n\r\n\r\n// Determines if the browser supports cookies\r\nfunction supportsCookies() {\r\n var cookieEnabled = (navigator.cookieEnabled) ? true : false;\r\n\r\n //if not IE4+ nor NS6+\r\n if (typeof navigator.cookieEnabled == \"undefined\" && !cookieEnabled) {\r\n document.cookie = \"testcookie\";\r\n cookieEnabled = (document.cookie.indexOf(\"testcookie\") != -1) ? true : false;\r\n }\r\n return cookieEnabled;\r\n}\r\n\r\n//\r\n// Helper functions to create array of attributes\r\n//\r\n\r\n// return a boolean as to whether a given attribute should be excluded (has 0 weight)\r\nfunction dp_exclude(attrName) {\r\n if (!attrName) return true;\r\n if (dp_exclude[attrName]) return true;\r\n return false;\r\n}\r\n\r\nvar dp_attrs = \"\"; // String to return in a hidden field or cookie\r\nvar dp_attr = \"\"; // Current attribute placeholder\r\nvar dp_useVB = false;\r\n\r\n// add an attribute if not excluded to attrs\r\nfunction dp_addAttr(attrName, attrValue) {\r\n if (!dp_exclude(attrName)) {\r\n if (dp_attrs != \"\") dp_attrs += \"&\";\r\n dp_attrs += attrName + \"=\" + attrValue;\r\n }\r\n}\r\n\r\nfunction dp_getMimeTypes() {\r\n var dp_mimeTypes = \"\";\r\n if (navigator.mimeTypes) {\r\n for (i = 0; i < navigator.mimeTypes.length; i++) {\r\n if (dp_mimeTypes != \"\") dp_mimeTypes += \",\";\r\n dp_mimeTypes += navigator.mimeTypes[i].type;\r\n }\r\n }\r\n return dp_mimeTypes;\r\n}\r\n\r\nfunction dp_getPlugins() {\r\n var dp_plugins = \"\";\r\n if (navigator.plugins) {\r\n for (i = 0; i < navigator.plugins.length; i++) {\r\n if (dp_plugins != \"\") dp_plugins += \",\";\r\n dp_plugins += navigator.plugins[i].name.replace(/&/g, \"\");\r\n }\r\n }\r\n return dp_plugins;\r\n}\r\n\r\n\r\n// Uses PluginDetect js library to detect plugins without \r\n// attempting to instantiate the plugin using ActiveX \r\n// because this causes a warning popup to appear in\r\n// IE7+\r\n\r\nfunction dp_hasPluginUsingPluginDetect(pluginName) {\r\n return (PluginDetect.getVersion(pluginName) !== null);\r\n}\r\n\r\nfunction dp_detectPlugin() {\r\n // allow for multiple checks in a single pass\r\n var daPlugins = dp_detectPlugin.arguments;\r\n // consider pluginFound to be false until proven true\r\n var pluginFound = false;\r\n // if plug-in array is there and not fake\r\n if (navigator.plugins && navigator.plugins.length > 0) {\r\n var pluginsArrayLength = navigator.plugins.length;\r\n // for each plugin...\r\n for (pluginsArrayCounter = 0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++) {\r\n // loop through all desired names and check each against the current plug-in name\r\n var numFound = 0;\r\n for (namesCounter = 0; namesCounter < daPlugins.length; namesCounter++) {\r\n // if desired plug-in name is found in either plug-in name or description\r\n if ((navigator.plugins[pluginsArrayCounter].name.indexOf(daPlugins[namesCounter]) >= 0) ||\r\n (navigator.plugins[pluginsArrayCounter].description.indexOf(daPlugins[namesCounter]) >= 0)) {\r\n // this name was found\r\n numFound++;\r\n }\r\n }\r\n // now that we have checked all the required names against this one plug-in,\r\n // if the number we found matches the total number provided then we were successful\r\n if (numFound == daPlugins.length) {\r\n pluginFound = true;\r\n // if we've found the plug-in, we can stop looking through at the rest of the plug-in\r\n break;\r\n }\r\n }\r\n }\r\n return pluginFound;\r\n}\r\n\r\n// Sniff / add all attributes\r\nfunction dp_addAllAttributes() {\r\n dp_addAttr(\"director\", dp_hasPluginUsingPluginDetect('Shockwave'));\r\n // D-04192 dp_addAttr(\"flashVersion\", dp_hasPluginUsingPluginDetect('Flash'));\r\n dp_addAttr(\"mimeTypes\", dp_getMimeTypes());\r\n dp_addAttr(\"mimeTypesCount\", navigator.mimeTypes.length);\r\n dp_addAttr(\"plugins\", dp_getPlugins());\r\n dp_addAttr(\"pluginsCount\", navigator.plugins.length);\r\n dp_addAttr(\"quickTime\", dp_hasPluginUsingPluginDetect('QuickTime'));\r\n dp_addAttr(\"realPlayer\", dp_hasPluginUsingPluginDetect('RealPlayer'));\r\n dp_addAttr(\"windowsMediaPlayer\", dp_hasPluginUsingPluginDetect('WindowsMediaPlayer'));\r\n dp_addAttr(\"accrobatReader\", dp_hasPluginUsingPluginDetect('AdobeReader'));\r\n dp_addAttr(\"svgViewer\", false);\r\n dp_addAttr(\"clearType\", false);\r\n\r\n dp_addAttr(\"screenColorDepth\", screen.colorDepth);\r\n dp_addAttr(\"screenHeight\", screen.height);\r\n dp_addAttr(\"screenPixelDepth\", screen.pixelDepth);\r\n dp_addAttr(\"screenWidth\", screen.width);\r\n dp_addAttr(\"screenAvailHeigth\", screen.availHeight);\r\n dp_addAttr(\"screenAvailWidth\", screen.availWidth);\r\n dp_addAttr(\"screenBufferDepth\", screen.bufferDepth);\r\n\r\n dp_addAttr(\"appName\", navigator.appName);\r\n dp_addAttr(\"appVersion\", navigator.appVersion);\r\n dp_addAttr(\"appMinorVersion\", navigator.appMinorVersion);\r\n dp_addAttr(\"cookieEnabled\", navigator.cookieEnabled);\r\n dp_addAttr(\"cpuClass\", navigator.cpuClass);\r\n dp_addAttr(\"systemLanguage\", navigator.systemLanguage);\r\n if (typeof navigator.taintEnabled != \"undefined\")\r\n dp_addAttr(\"taintEnabled\", navigator.taintEnabled());\r\n dp_addAttr(\"userAgent\", navigator.userAgent);\r\n dp_addAttr(\"userLanguage\", navigator.userLanguage);\r\n dp_addAttr(\"javaEnabled\", navigator.javaEnabled());\r\n dp_addAttr(\"platform\", navigator.platform);\r\n dp_addAttr(\"appCodeName\", navigator.appCodeName);\r\n dp_addAttr(\"language\", navigator.language);\r\n dp_addAttr(\"oscpu\", navigator.oscpu);\r\n dp_addAttr(\"vendor\", navigator.vendor);\r\n dp_addAttr(\"vendorSub\", navigator.vendorSub);\r\n dp_addAttr(\"product\", navigator.product);\r\n dp_addAttr(\"productSub\", navigator.productSub);\r\n}\r\n\r\nfunction miRead() {\r\n var secret = new MachineSecret(true);\r\n $('#ad').val(secret.getMachineFingerprint());\r\n $('#uf').val(secret.getUseFlash());\r\n if (secret.getUseFlash()) {\r\n $('#ml').val(secret.getMachineLabel());\r\n $('#fmn').val(secret.getMachineNonce());\r\n $('#fsn').val(secret.getSequenceNonce());\r\n }\r\n}"]}