Merge remote-tracking branch 'upstream/master' into feature-octal
This commit is contained in:
commit
a36c9ca339
266 files changed
+1139
-70336
No files matched your search
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"presets": [
|
||||
["env", {
|
||||
"targets": {
|
||||
"chrome": 40,
|
||||
"firefox": 35,
|
||||
"edge": 14
|
||||
},
|
||||
"modules": false
|
||||
}]
|
||||
]
|
||||
}
|
||||
+1
-2
@@ -1,7 +1,6 @@
|
||||
node_modules
|
||||
npm-debug.log
|
||||
build/dev
|
||||
build/test
|
||||
build
|
||||
docs/*
|
||||
!docs/*.conf.json
|
||||
!docs/*.ico
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- node
|
||||
install: npm install
|
||||
before_script:
|
||||
- npm install -g grunt
|
||||
script:
|
||||
- grunt lint
|
||||
- grunt test
|
||||
- grunt docs
|
||||
- grunt node
|
||||
- grunt prod
|
||||
before_deploy:
|
||||
- grunt copy:ghPages
|
||||
deploy:
|
||||
- provider: pages
|
||||
skip_cleanup: true
|
||||
github_token: $GITHUB_TOKEN
|
||||
local_dir: build/prod/
|
||||
target_branch: gh-pages
|
||||
on:
|
||||
branch: master
|
||||
- provider: releases
|
||||
skip_cleaup: true
|
||||
api_key:
|
||||
secure: $GITHUB_API_KEY
|
||||
file:
|
||||
- build/prod/cyberchef.htm
|
||||
- build/node/CyberChef.js
|
||||
on:
|
||||
repo: gchq/CyberChef
|
||||
tags: true
|
||||
+230
-417
@@ -1,38 +1,40 @@
|
||||
/* eslint-env node */
|
||||
var webpack = require("webpack"),
|
||||
ExtractTextPlugin = require("extract-text-webpack-plugin"),
|
||||
HtmlWebpackPlugin = require("html-webpack-plugin"),
|
||||
Inliner = require("web-resource-inliner");
|
||||
|
||||
module.exports = function(grunt) {
|
||||
module.exports = function (grunt) {
|
||||
grunt.file.defaultEncoding = "utf8";
|
||||
grunt.file.preserveBOM = false;
|
||||
|
||||
// Tasks
|
||||
grunt.registerTask("dev",
|
||||
"A persistent task which creates a development build whenever source files are modified.",
|
||||
["clean:dev", "concat:css", "concat:js", "copy:htmlDev", "copy:staticDev", "chmod:build", "watch"]);
|
||||
["clean:dev", "webpack:webDev"]);
|
||||
|
||||
grunt.registerTask("node",
|
||||
"Compiles CyberChef into a single NodeJS module.",
|
||||
["clean:node", "webpack:node", "chmod:build"]);
|
||||
|
||||
grunt.registerTask("test",
|
||||
"A task which runs all the tests in test/tests.",
|
||||
["clean:test", "concat:jsTest", "copy:htmlTest", "chmod:build", "execute:test"]);
|
||||
|
||||
grunt.registerTask("prod",
|
||||
"Creates a production-ready build. Use the --msg flag to add a compile message.",
|
||||
["eslint", "exec:stats", "clean", "jsdoc", "concat", "copy:htmlDev", "copy:htmlProd", "copy:htmlInline",
|
||||
"copy:staticDev", "copy:staticProd", "cssmin", "uglify:prod", "inline", "htmlmin", "chmod", "test"]);
|
||||
["clean:test", "webpack:tests", "execute:test"]);
|
||||
|
||||
grunt.registerTask("docs",
|
||||
"Compiles documentation in the /docs directory.",
|
||||
["clean:docs", "jsdoc", "chmod:docs"]);
|
||||
|
||||
grunt.registerTask("stats",
|
||||
"Provides statistics about the code base such as how many lines there are as well as details of file sizes before and after compression.",
|
||||
["concat:js", "uglify:prod", "exec:stats", "exec:repoSize", "exec:displayStats"]);
|
||||
|
||||
grunt.registerTask("release",
|
||||
"Prepares and deploys a production version of CyberChef to the gh-pages branch.",
|
||||
["copy:ghPages", "exec:deployGhPages"]);
|
||||
grunt.registerTask("prod",
|
||||
"Creates a production-ready build. Use the --msg flag to add a compile message.",
|
||||
["eslint", "clean:prod", "webpack:webProd", "inline", "chmod"]);
|
||||
|
||||
grunt.registerTask("default",
|
||||
"Lints the code base and shows stats",
|
||||
["eslint", "exec:stats", "exec:displayStats"]);
|
||||
"Lints the code base",
|
||||
["eslint", "exec:repoSize"]);
|
||||
|
||||
grunt.registerTask("inline",
|
||||
"Compiles a production build of CyberChef into a single, portable web page.",
|
||||
runInliner);
|
||||
|
||||
grunt.registerTask("doc", "docs");
|
||||
grunt.registerTask("tests", "test");
|
||||
@@ -41,179 +43,79 @@ module.exports = function(grunt) {
|
||||
|
||||
// Load tasks provided by each plugin
|
||||
grunt.loadNpmTasks("grunt-eslint");
|
||||
grunt.loadNpmTasks("grunt-webpack");
|
||||
grunt.loadNpmTasks("grunt-jsdoc");
|
||||
grunt.loadNpmTasks("grunt-contrib-clean");
|
||||
grunt.loadNpmTasks("grunt-contrib-concat");
|
||||
grunt.loadNpmTasks("grunt-contrib-copy");
|
||||
grunt.loadNpmTasks("grunt-contrib-uglify");
|
||||
grunt.loadNpmTasks("grunt-contrib-cssmin");
|
||||
grunt.loadNpmTasks("grunt-contrib-htmlmin");
|
||||
grunt.loadNpmTasks("grunt-inline-alt");
|
||||
grunt.loadNpmTasks("grunt-chmod");
|
||||
grunt.loadNpmTasks("grunt-exec");
|
||||
grunt.loadNpmTasks("grunt-execute");
|
||||
grunt.loadNpmTasks("grunt-contrib-watch");
|
||||
|
||||
|
||||
// JS includes
|
||||
var jsIncludes = [
|
||||
// Third party framework libraries
|
||||
"src/js/lib/jquery-2.1.1.js",
|
||||
"src/js/lib/bootstrap-3.3.6.js",
|
||||
"src/js/lib/split.js",
|
||||
"src/js/lib/bootstrap-switch.js",
|
||||
"src/js/lib/yahoo.js",
|
||||
"src/js/lib/snowfall.jquery.js",
|
||||
|
||||
// Third party operation libraries
|
||||
"src/js/lib/cryptojs/core.js",
|
||||
"src/js/lib/cryptojs/x64-core.js",
|
||||
"src/js/lib/cryptojs/enc-base64.js",
|
||||
"src/js/lib/cryptojs/enc-utf16.js",
|
||||
"src/js/lib/cryptojs/md5.js",
|
||||
"src/js/lib/cryptojs/evpkdf.js",
|
||||
"src/js/lib/cryptojs/cipher-core.js",
|
||||
"src/js/lib/cryptojs/mode-cfb.js",
|
||||
"src/js/lib/cryptojs/mode-ctr-gladman.js",
|
||||
"src/js/lib/cryptojs/mode-ctr.js",
|
||||
"src/js/lib/cryptojs/mode-ecb.js",
|
||||
"src/js/lib/cryptojs/mode-ofb.js",
|
||||
"src/js/lib/cryptojs/format-hex.js",
|
||||
"src/js/lib/cryptojs/lib-typedarrays.js",
|
||||
"src/js/lib/cryptojs/pad-ansix923.js",
|
||||
"src/js/lib/cryptojs/pad-iso10126.js",
|
||||
"src/js/lib/cryptojs/pad-iso97971.js",
|
||||
"src/js/lib/cryptojs/pad-nopadding.js",
|
||||
"src/js/lib/cryptojs/pad-zeropadding.js",
|
||||
"src/js/lib/cryptojs/aes.js",
|
||||
"src/js/lib/cryptojs/hmac.js",
|
||||
"src/js/lib/cryptojs/rabbit-legacy.js",
|
||||
"src/js/lib/cryptojs/rabbit.js",
|
||||
"src/js/lib/cryptojs/ripemd160.js",
|
||||
"src/js/lib/cryptojs/sha1.js",
|
||||
"src/js/lib/cryptojs/sha256.js",
|
||||
"src/js/lib/cryptojs/sha224.js",
|
||||
"src/js/lib/cryptojs/sha512.js",
|
||||
"src/js/lib/cryptojs/sha384.js",
|
||||
"src/js/lib/cryptojs/sha3.js",
|
||||
"src/js/lib/cryptojs/tripledes.js",
|
||||
"src/js/lib/cryptojs/rc4.js",
|
||||
"src/js/lib/cryptojs/pbkdf2.js",
|
||||
"src/js/lib/cryptoapi/crypto-api.js",
|
||||
"src/js/lib/cryptoapi/hasher.md2.js",
|
||||
"src/js/lib/cryptoapi/hasher.md4.js",
|
||||
"src/js/lib/cryptoapi/hasher.sha0.js",
|
||||
"src/js/lib/jsbn/jsbn.js",
|
||||
"src/js/lib/jsbn/jsbn2.js",
|
||||
"src/js/lib/jsbn/base64.js",
|
||||
"src/js/lib/jsbn/ec.js",
|
||||
"src/js/lib/jsbn/prng4.js",
|
||||
"src/js/lib/jsbn/rng.js",
|
||||
"src/js/lib/jsbn/rsa.js",
|
||||
"src/js/lib/jsbn/sec.js",
|
||||
"src/js/lib/jsrasign/asn1-1.0.js",
|
||||
"src/js/lib/jsrasign/asn1hex-1.1.js",
|
||||
"src/js/lib/jsrasign/asn1x509-1.0.js",
|
||||
"src/js/lib/jsrasign/base64x-1.1.js",
|
||||
"src/js/lib/jsrasign/crypto-1.1.js",
|
||||
"src/js/lib/jsrasign/dsa-modified-1.0.js",
|
||||
"src/js/lib/jsrasign/ecdsa-modified-1.0.js",
|
||||
"src/js/lib/jsrasign/ecparam-1.0.js",
|
||||
"src/js/lib/jsrasign/keyutil-1.0.js",
|
||||
"src/js/lib/jsrasign/x509-1.1.js",
|
||||
"src/js/lib/blowfish.dojo.js",
|
||||
"src/js/lib/rawdeflate.js",
|
||||
"src/js/lib/rawinflate.js",
|
||||
"src/js/lib/zip.js",
|
||||
"src/js/lib/unzip.js",
|
||||
"src/js/lib/zlib_and_gzip.js",
|
||||
"src/js/lib/bzip2.js",
|
||||
"src/js/lib/punycode.js",
|
||||
"src/js/lib/uas_parser.js",
|
||||
"src/js/lib/esprima.js",
|
||||
"src/js/lib/escodegen.browser.js",
|
||||
"src/js/lib/esmangle.min.js",
|
||||
"src/js/lib/diff.js",
|
||||
"src/js/lib/moment.js",
|
||||
"src/js/lib/moment-timezone.js",
|
||||
"src/js/lib/prettify.js",
|
||||
"src/js/lib/vkbeautify.js",
|
||||
"src/js/lib/Sortable.js",
|
||||
"src/js/lib/bootstrap-colorpicker.js",
|
||||
"src/js/lib/es6-promise.auto.js",
|
||||
"src/js/lib/xpath.js",
|
||||
|
||||
// Custom libraries
|
||||
"src/js/lib/canvascomponents.js",
|
||||
|
||||
// Utility functions
|
||||
"src/js/core/Utils.js",
|
||||
|
||||
// Operation objects
|
||||
"src/js/operations/*.js",
|
||||
|
||||
// Core framework objects
|
||||
"src/js/core/*.js",
|
||||
"src/js/config/Categories.js",
|
||||
"src/js/config/OperationConfig.js",
|
||||
|
||||
// HTML view objects
|
||||
"src/js/views/html/*.js",
|
||||
"!src/js/views/html/main.js",
|
||||
|
||||
];
|
||||
|
||||
var jsAppFiles = jsIncludes.concat([
|
||||
// Start the main app!
|
||||
"src/js/views/html/main.js",
|
||||
]);
|
||||
|
||||
var jsTestFiles = jsIncludes.concat([
|
||||
"test/TestRegister.js",
|
||||
"test/tests/**/*.js",
|
||||
"test/TestRunner.js",
|
||||
]);
|
||||
|
||||
var banner = '/**\n\
|
||||
* CyberChef - The Cyber Swiss Army Knife\n\
|
||||
*\n\
|
||||
* @copyright Crown Copyright 2016\n\
|
||||
* @license Apache-2.0\n\
|
||||
*\n\
|
||||
* Copyright 2016 Crown Copyright\n\
|
||||
*\n\
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");\n\
|
||||
* you may not use this file except in compliance with the License.\n\
|
||||
* You may obtain a copy of the License at\n\
|
||||
*\n\
|
||||
* http://www.apache.org/licenses/LICENSE-2.0\n\
|
||||
*\n\
|
||||
* Unless required by applicable law or agreed to in writing, software\n\
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,\n\
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
|
||||
* See the License for the specific language governing permissions and\n\
|
||||
* limitations under the License.\n\
|
||||
*/\n';
|
||||
|
||||
var templateOptions = {
|
||||
data: {
|
||||
compileTime: grunt.template.today("dd/mm/yyyy HH:MM:ss") + " UTC",
|
||||
compileMsg: grunt.option("compile-msg") || grunt.option("msg") || "",
|
||||
codebaseStats: grunt.file.read("src/static/stats.txt").split("\n").join("<br>")
|
||||
}
|
||||
};
|
||||
|
||||
// Project configuration
|
||||
var compileTime = grunt.template.today("dd/mm/yyyy HH:MM:ss") + " UTC",
|
||||
banner = "/**\n" +
|
||||
"* CyberChef - The Cyber Swiss Army Knife\n" +
|
||||
"*\n" +
|
||||
"* @copyright Crown Copyright 2016\n" +
|
||||
"* @license Apache-2.0\n" +
|
||||
"*\n" +
|
||||
"* Copyright 2016 Crown Copyright\n" +
|
||||
"*\n" +
|
||||
'* Licensed under the Apache License, Version 2.0 (the "License");\n' +
|
||||
"* you may not use this file except in compliance with the License.\n" +
|
||||
"* You may obtain a copy of the License at\n" +
|
||||
"*\n" +
|
||||
"* http://www.apache.org/licenses/LICENSE-2.0\n" +
|
||||
"*\n" +
|
||||
"* Unless required by applicable law or agreed to in writing, software\n" +
|
||||
'* distributed under the License is distributed on an "AS IS" BASIS,\n' +
|
||||
"* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" +
|
||||
"* See the License for the specific language governing permissions and\n" +
|
||||
"* limitations under the License.\n" +
|
||||
"*/\n";
|
||||
|
||||
/**
|
||||
* Compiles a production build of CyberChef into a single, portable web page.
|
||||
*/
|
||||
function runInliner() {
|
||||
var inlinerError = false;
|
||||
Inliner.html({
|
||||
relativeTo: "build/prod/",
|
||||
fileContent: grunt.file.read("build/prod/cyberchef.htm"),
|
||||
images: true,
|
||||
svgs: true,
|
||||
scripts: true,
|
||||
links: true,
|
||||
strict: true
|
||||
}, function(error, result) {
|
||||
if (error) {
|
||||
console.log(error);
|
||||
inlinerError = true;
|
||||
return false;
|
||||
}
|
||||
grunt.file.write("build/prod/cyberchef.htm", result);
|
||||
});
|
||||
|
||||
return !inlinerError;
|
||||
}
|
||||
|
||||
grunt.initConfig({
|
||||
clean: {
|
||||
dev: ["build/dev/*"],
|
||||
prod: ["build/prod/*"],
|
||||
test: ["build/test/*"],
|
||||
node: ["build/node/*"],
|
||||
docs: ["docs/*", "!docs/*.conf.json", "!docs/*.ico"],
|
||||
},
|
||||
eslint: {
|
||||
options: {
|
||||
configFile: "src/js/.eslintrc.json"
|
||||
configFile: "src/.eslintrc.json"
|
||||
},
|
||||
gruntfile: ["Gruntfile.js"],
|
||||
core: ["src/js/core/**/*.js"],
|
||||
config: ["src/js/config/**/*.js"],
|
||||
views: ["src/js/views/**/*.js"],
|
||||
operations: ["src/js/operations/**/*.js"],
|
||||
configs: ["Gruntfile.js"],
|
||||
core: ["src/core/**/*.js", "!src/core/lib/**/*"],
|
||||
web: ["src/web/**/*.js"],
|
||||
node: ["src/node/**/*.js"],
|
||||
tests: ["test/**/*.js"],
|
||||
},
|
||||
jsdoc: {
|
||||
@@ -226,209 +128,183 @@ module.exports = function(grunt) {
|
||||
},
|
||||
all: {
|
||||
src: [
|
||||
"src/js/**/*.js",
|
||||
"!src/js/lib/**/*",
|
||||
"src/**/*.js",
|
||||
"!src/core/lib/**/*",
|
||||
],
|
||||
}
|
||||
},
|
||||
clean: {
|
||||
dev: ["build/dev/*"],
|
||||
prod: ["build/prod/*"],
|
||||
test: ["build/test/*"],
|
||||
docs: ["docs/*", "!docs/*.conf.json", "!docs/*.ico"],
|
||||
},
|
||||
concat: {
|
||||
webpack: {
|
||||
options: {
|
||||
process: templateOptions
|
||||
},
|
||||
css: {
|
||||
options: {
|
||||
banner: banner.replace(/\/\*\*/g, "/*!"),
|
||||
process: function(content, srcpath) {
|
||||
// Change special comments from /** to /*! to comply with cssmin
|
||||
content = content.replace(/^\/\*\* /g, "/*! ");
|
||||
return grunt.template.process(content);
|
||||
plugins: [
|
||||
new webpack.ProvidePlugin({
|
||||
$: "jquery",
|
||||
jQuery: "jquery",
|
||||
moment: "moment-timezone"
|
||||
}),
|
||||
new webpack.BannerPlugin({
|
||||
banner: banner,
|
||||
raw: true,
|
||||
entryOnly: true
|
||||
}),
|
||||
new webpack.DefinePlugin({
|
||||
COMPILE_TIME: JSON.stringify(compileTime),
|
||||
COMPILE_MSG: JSON.stringify(grunt.option("compile-msg") || grunt.option("msg") || "")
|
||||
}),
|
||||
new ExtractTextPlugin("styles.css"),
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
jquery: "jquery/src/jquery"
|
||||
}
|
||||
},
|
||||
src: [
|
||||
"src/css/lib/**/*.css",
|
||||
"src/css/structure/**/*.css",
|
||||
"src/css/themes/classic.css"
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
exclude: /node_modules/,
|
||||
loader: "babel-loader?compact=false"
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: ExtractTextPlugin.extract({
|
||||
use: "css-loader?minimize"
|
||||
})
|
||||
},
|
||||
{
|
||||
test: /\.less$/,
|
||||
use: ExtractTextPlugin.extract({
|
||||
use: [
|
||||
{ loader: "css-loader?minimize" },
|
||||
{ loader: "less-loader" }
|
||||
]
|
||||
})
|
||||
},
|
||||
{
|
||||
test: /\.(ico|eot|ttf|woff|woff2)$/,
|
||||
loader: "url-loader",
|
||||
options: {
|
||||
limit: 10000
|
||||
}
|
||||
},
|
||||
{ // First party images are saved as files to be cached
|
||||
test: /\.(png|jpg|gif|svg)$/,
|
||||
exclude: /node_modules/,
|
||||
loader: "file-loader",
|
||||
options: {
|
||||
name: "images/[name].[ext]"
|
||||
}
|
||||
},
|
||||
{ // Third party images are inlined
|
||||
test: /\.(png|jpg|gif|svg)$/,
|
||||
exclude: /web\/static/,
|
||||
loader: "url-loader",
|
||||
options: {
|
||||
limit: 10000
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
stats: {
|
||||
children: false
|
||||
}
|
||||
},
|
||||
webDev: {
|
||||
target: "web",
|
||||
entry: "./src/web/index.js",
|
||||
output: {
|
||||
filename: "scripts.js",
|
||||
path: __dirname + "/build/dev"
|
||||
},
|
||||
plugins: [
|
||||
new HtmlWebpackPlugin({
|
||||
filename: "index.html",
|
||||
template: "./src/web/html/index.html",
|
||||
compileTime: compileTime
|
||||
})
|
||||
],
|
||||
dest: "build/dev/styles.css"
|
||||
watch: true
|
||||
},
|
||||
js: {
|
||||
options: {
|
||||
banner: '"use strict";\n'
|
||||
webProd: {
|
||||
target: "web",
|
||||
entry: "./src/web/index.js",
|
||||
output: {
|
||||
filename: "scripts.js",
|
||||
path: __dirname + "/build/prod"
|
||||
},
|
||||
src: jsAppFiles,
|
||||
dest: "build/dev/scripts.js"
|
||||
plugins: [
|
||||
new webpack.optimize.UglifyJsPlugin({
|
||||
compress: {
|
||||
"screw_ie8": true,
|
||||
"dead_code": true,
|
||||
"unused": true,
|
||||
"warnings": false
|
||||
},
|
||||
comments: false,
|
||||
}),
|
||||
new HtmlWebpackPlugin({ // Main version
|
||||
filename: "index.html",
|
||||
template: "./src/web/html/index.html",
|
||||
compileTime: compileTime,
|
||||
minify: {
|
||||
removeComments: true,
|
||||
collapseWhitespace: true,
|
||||
minifyJS: true,
|
||||
minifyCSS: true
|
||||
}
|
||||
}),
|
||||
new HtmlWebpackPlugin({ // Inline version
|
||||
filename: "cyberchef.htm",
|
||||
template: "./src/web/html/index.html",
|
||||
compileTime: compileTime,
|
||||
inline: true,
|
||||
minify: {
|
||||
removeComments: true,
|
||||
collapseWhitespace: true,
|
||||
minifyJS: true,
|
||||
minifyCSS: true
|
||||
}
|
||||
}),
|
||||
]
|
||||
},
|
||||
jsTest: {
|
||||
options: {
|
||||
banner: '"use strict";\n'
|
||||
},
|
||||
src: jsTestFiles,
|
||||
dest: "build/test/tests.js"
|
||||
tests: {
|
||||
target: "node",
|
||||
entry: "./test/index.js",
|
||||
output: {
|
||||
filename: "index.js",
|
||||
path: __dirname + "/build/test"
|
||||
}
|
||||
},
|
||||
node: {
|
||||
target: "node",
|
||||
entry: "./src/node/index.js",
|
||||
output: {
|
||||
filename: "CyberChef.js",
|
||||
path: __dirname + "/build/node",
|
||||
library: "CyberChef",
|
||||
libraryTarget: "commonjs2"
|
||||
}
|
||||
}
|
||||
},
|
||||
copy: {
|
||||
htmlDev: {
|
||||
options: {
|
||||
process: function(content, srcpath) {
|
||||
return grunt.template.process(content, templateOptions);
|
||||
}
|
||||
},
|
||||
src: "src/html/index.html",
|
||||
dest: "build/dev/index.html"
|
||||
},
|
||||
htmlTest: {
|
||||
src: "test/test.html",
|
||||
dest: "build/test/index.html"
|
||||
},
|
||||
htmlProd: {
|
||||
options: {
|
||||
process: function(content, srcpath) {
|
||||
return grunt.template.process(content, templateOptions);
|
||||
}
|
||||
},
|
||||
src: "src/html/index.html",
|
||||
dest: "build/prod/index.html"
|
||||
},
|
||||
htmlInline: {
|
||||
options: {
|
||||
process: function(content, srcpath) {
|
||||
// TODO: Do all this in Jade
|
||||
content = content.replace(
|
||||
'<a href="cyberchef.htm" style="float: left; margin-left: 10px; margin-right: 80px;" download>Download CyberChef<img src="images/download-24x24.png" /></a>',
|
||||
'<span style="float: left; margin-left: 10px;">Compile time: ' + grunt.template.today("dd/mm/yyyy HH:MM:ss") + " UTC</span>");
|
||||
return grunt.template.process(content, templateOptions);
|
||||
}
|
||||
},
|
||||
src: "src/html/index.html",
|
||||
dest: "build/prod/cyberchef.htm"
|
||||
},
|
||||
staticDev: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd: "src/static/",
|
||||
src: [
|
||||
"**/*",
|
||||
"**/.*",
|
||||
"!stats.txt",
|
||||
"!ga.html"
|
||||
],
|
||||
dest: "build/dev/"
|
||||
}
|
||||
]
|
||||
},
|
||||
staticProd: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd: "src/static/",
|
||||
src: [
|
||||
"**/*",
|
||||
"**/.*",
|
||||
"!stats.txt",
|
||||
"!ga.html"
|
||||
],
|
||||
dest: "build/prod/"
|
||||
}
|
||||
]
|
||||
},
|
||||
ghPages: {
|
||||
options: {
|
||||
process: function(content, srcpath) {
|
||||
process: function (content, srcpath) {
|
||||
// Add Google Analytics code to index.html
|
||||
content = content.replace("</body></html>",
|
||||
grunt.file.read("src/static/ga.html") + "</body></html>");
|
||||
return grunt.template.process(content, templateOptions);
|
||||
grunt.file.read("src/web/static/ga.html") + "</body></html>");
|
||||
return grunt.template.process(content);
|
||||
}
|
||||
},
|
||||
src: "build/prod/index.html",
|
||||
dest: "build/prod/index.html"
|
||||
}
|
||||
},
|
||||
uglify: {
|
||||
options: {
|
||||
preserveComments: function(node, comment) {
|
||||
if (comment.value.indexOf("* @license") === 0) return true;
|
||||
return false;
|
||||
},
|
||||
screwIE8: true,
|
||||
ASCIIOnly: true,
|
||||
beautify: {
|
||||
beautify: false,
|
||||
inline_script: true, // eslint-disable-line camelcase
|
||||
ascii_only: true, // eslint-disable-line camelcase
|
||||
screw_ie8: true // eslint-disable-line camelcase
|
||||
},
|
||||
compress: {
|
||||
screw_ie8: true // eslint-disable-line camelcase
|
||||
},
|
||||
banner: banner
|
||||
},
|
||||
prod: {
|
||||
src: "build/dev/scripts.js",
|
||||
dest: "build/prod/scripts.js"
|
||||
}
|
||||
},
|
||||
cssmin: {
|
||||
prod: {
|
||||
src: "build/dev/styles.css",
|
||||
dest: "build/prod/styles.css"
|
||||
}
|
||||
},
|
||||
htmlmin: {
|
||||
prod: {
|
||||
options: {
|
||||
removeComments: true,
|
||||
collapseWhitespace: true,
|
||||
minifyJS: true,
|
||||
minifyCSS: true
|
||||
},
|
||||
src: "build/prod/index.html",
|
||||
dest: "build/prod/index.html"
|
||||
},
|
||||
inline: {
|
||||
options: {
|
||||
removeComments: true,
|
||||
collapseWhitespace: true,
|
||||
minifyJS: false,
|
||||
minifyCSS: false
|
||||
},
|
||||
src: "build/prod/cyberchef.htm",
|
||||
dest: "build/prod/cyberchef.htm"
|
||||
}
|
||||
},
|
||||
inline: {
|
||||
options: {
|
||||
tag: "",
|
||||
inlineTagAttributes: {
|
||||
js: "type='application/javascript'",
|
||||
css: "type='text/css'"
|
||||
}
|
||||
},
|
||||
compiled: {
|
||||
src: "build/prod/cyberchef.htm",
|
||||
dest: "build/prod/cyberchef.htm"
|
||||
},
|
||||
prod: {
|
||||
options: {
|
||||
tag: "__inline"
|
||||
},
|
||||
src: "build/prod/index.html",
|
||||
dest: "build/prod/index.html"
|
||||
}
|
||||
},
|
||||
chmod: {
|
||||
build: {
|
||||
options: {
|
||||
mode: "755",
|
||||
},
|
||||
src: ["build/**/*", "build/**/.htaccess", "build/"]
|
||||
src: ["build/**/*", "build/"]
|
||||
},
|
||||
docs: {
|
||||
options: {
|
||||
@@ -445,75 +321,12 @@ module.exports = function(grunt) {
|
||||
].join(";"),
|
||||
stderr: false
|
||||
},
|
||||
stats: {
|
||||
command: "rm src/static/stats.txt;" +
|
||||
[
|
||||
"ls src/ -R1 | grep '^$' -v | grep ':$' -v | wc -l | xargs printf '%b\tsource files\n'",
|
||||
"find src/ -regex '.*\..*' -print | xargs cat | wc -l | xargs printf '%b\tlines\n'",
|
||||
"du -hs src/ | pcregrep -o '^[^\t]*' | xargs printf '%b\tsize\n'",
|
||||
|
||||
"ls src/js/ -R1 | grep '\.js$' | wc -l | xargs printf '\n%b\tJavaScript source files\n'",
|
||||
"find src/js/ -regex '.*\.js' -print | xargs cat | wc -l | xargs printf '%b\tlines\n'",
|
||||
"find src/js/ -regex '.*\.js' -exec du -hcs {} \+ | tail -n1 | egrep -o '^[^\t]*' | xargs printf '%b\tsize\n'",
|
||||
|
||||
"find src/js/ -regex '.*/lib/.*\.js' -print | wc -l | xargs printf '\n%b\tthird party JavaScript source files\n'",
|
||||
"find src/js/ -regex '.*/lib/.*\.js' -print | xargs cat | wc -l | xargs printf '%b\tlines\n'",
|
||||
"find src/js/ -regex '.*/lib/.*\.js' -exec du -hcs {} \+ | tail -n1 | egrep -o '^[^\t]*' | xargs printf '%b\tsize\n'",
|
||||
|
||||
"find src/js/ -regex '.*\.js' -not -regex '.*/lib/.*' -print | wc -l | xargs printf '\n%b\tfirst party JavaScript source files\n'",
|
||||
"find src/js/ -regex '.*\.js' -not -regex '.*/lib/.*' -print | xargs cat | wc -l | xargs printf '%b\tlines\n'",
|
||||
"find src/js/ -regex '.*\.js' -not -regex '.*/lib/.*' -exec du -hcs {} \+ | tail -n1 | egrep -o '^[^\t]*' | xargs printf '%b\tsize\n'",
|
||||
|
||||
"du build/dev/scripts.js -h | egrep -o '^[^\t]*' | xargs printf '\n%b\tuncompressed JavaScript size\n'",
|
||||
"du build/prod/scripts.js -h | egrep -o '^[^\t]*' | xargs printf '%b\tcompressed JavaScript size\n'",
|
||||
|
||||
"grep -E '^\\s+name: ' src/js/config/Categories.js | wc -l | xargs printf '\n%b\tcategories\n'",
|
||||
"grep -E '^\\s+\"[A-Za-z0-9 \\-]+\": {' src/js/config/OperationConfig.js | wc -l | xargs printf '%b\toperations\n'",
|
||||
|
||||
].join(" >> src/static/stats.txt;") + " >> src/static/stats.txt;",
|
||||
stderr: false
|
||||
},
|
||||
displayStats: {
|
||||
command: "cat src/static/stats.txt"
|
||||
},
|
||||
cleanGit: {
|
||||
command: "git gc --prune=now --aggressive"
|
||||
},
|
||||
deployGhPages: {
|
||||
command: [
|
||||
"git add build/prod/index.html -v",
|
||||
"COMMIT_HASH=$(git rev-parse HEAD)",
|
||||
"git commit -m \"GitHub Pages release for ${COMMIT_HASH}\"",
|
||||
"git push origin `git subtree split --prefix build/prod master`:gh-pages --force",
|
||||
"git reset HEAD~",
|
||||
"git checkout build/prod/index.html"
|
||||
].join(";")
|
||||
}
|
||||
},
|
||||
execute: {
|
||||
test: "test/NodeRunner.js"
|
||||
},
|
||||
watch: {
|
||||
css: {
|
||||
files: "src/css/**/*.css",
|
||||
tasks: ["concat:css", "chmod:build"]
|
||||
},
|
||||
js: {
|
||||
files: "src/js/**/*.js",
|
||||
tasks: ["concat:js", "chmod:build"]
|
||||
},
|
||||
html: {
|
||||
files: "src/html/**/*.html",
|
||||
tasks: ["copy:htmlDev", "chmod:build"]
|
||||
},
|
||||
static: {
|
||||
files: ["src/static/**/*", "src/static/**/.*"],
|
||||
tasks: ["copy:staticDev", "chmod:build"]
|
||||
},
|
||||
grunt: {
|
||||
files: "Gruntfile.js",
|
||||
tasks: ["clean:dev", "concat:css", "concat:js", "copy:htmlDev", "copy:staticDev", "chmod:build"]
|
||||
}
|
||||
test: "build/test/index.js"
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# CyberChef
|
||||
|
||||
####*The Cyber Swiss Army Knife*
|
||||
#### *The Cyber Swiss Army Knife*
|
||||
|
||||
CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser. These operations include creating hexdumps, simple encoding like XOR or Base64, more complex encryption like AES, DES and Blowfish, data compression and decompression, calculating hashes and checksums, IPv6 and X.509 parsing, and much more.
|
||||
|
||||
@@ -13,7 +13,6 @@ CyberChef is still under active development. As a result, it shouldn't be consid
|
||||
Cryptographic operations in CyberChef should not be relied upon to provide security in any situation. No guarantee is offered for their correctness.
|
||||
|
||||
[A live demo can be found here][1] - have fun!
|
||||
Note: Use Chrome or Firefox, see the Browser Support section below for details.
|
||||
|
||||
|
||||
## How it works
|
||||
@@ -63,11 +62,7 @@ You can use as many operations as you like in simple or complex ways. Some examp
|
||||
|
||||
## Browser support
|
||||
|
||||
CyberChef works well in modern versions of Google Chrome and Mozilla Firefox.
|
||||
|
||||
To aid in the efficient development of new features and operations, there has been no attempt to maintain support for any version of Microsoft Internet Explorer.
|
||||
|
||||
Microsoft Edge is currently unsupported, but if anyone would like to contribute compatibility fixes, they would be appreciated.
|
||||
CyberChef is built to support Google Chrome 40+, Mozilla Firefox 35+ and Microsoft Edge 14+.
|
||||
|
||||
|
||||
## Contributing
|
||||
@@ -91,4 +86,4 @@ CyberChef is released under the [Apache 2.0 Licence](https://www.apache.org/lice
|
||||
[5]: https://gchq.github.io/CyberChef/?recipe=%5B%7B%22op%22%3A%22From%20Hexdump%22%2C%22args%22%3A%5B%5D%7D%2C%7B%22op%22%3A%22Gunzip%22%2C%22args%22%3A%5B%5D%7D%5D&input=MDAwMDAwMDAgIDFmIDhiIDA4IDAwIDEyIGJjIGYzIDU3IDAwIGZmIDBkIGM3IGMxIDA5IDAwIDIwICB8Li4uLi6881cu%2Fy7HwS4uIHwKMDAwMDAwMTAgIDA4IDA1IGQwIDU1IGZlIDA0IDJkIGQzIDA0IDFmIGNhIDhjIDQ0IDIxIDViIGZmICB8Li7QVf4uLdMuLsouRCFb%2F3wKMDAwMDAwMjAgIDYwIGM3IGQ3IDAzIDE2IGJlIDQwIDFmIDc4IDRhIDNmIDA5IDg5IDBiIDlhIDdkICB8YMfXLi6%2BQC54Sj8uLi4ufXwKMDAwMDAwMzAgIDRlIGM4IDRlIDZkIDA1IDFlIDAxIDhiIDRjIDI0IDAwIDAwIDAwICAgICAgICAgICB8TshObS4uLi5MJC4uLnw
|
||||
[6]: https://gchq.github.io/CyberChef/?recipe=%5B%7B%22op%22%3A%22Fork%22%2C%22args%22%3A%5B%22%5C%5Cn%22%2C%22%5C%5Cn%22%5D%7D%2C%7B%22op%22%3A%22From%20UNIX%20Timestamp%22%2C%22args%22%3A%5B%22Seconds%20(s)%22%5D%7D%5D&input=OTc4MzQ2ODAwCjEwMTI2NTEyMDAKMTA0NjY5NjQwMAoxMDgxMDg3MjAwCjExMTUzMDUyMDAKMTE0OTYwOTYwMA
|
||||
[7]: https://gchq.github.io/CyberChef/?recipe=%5B%7B%22op%22%3A%22Fork%22%2C%22args%22%3A%5B%22%5C%5Cn%22%2C%22%5C%5Cn%22%5D%7D%2C%7B%22op%22%3A%22Conditional%20Jump%22%2C%22args%22%3A%5B%221%22%2C%222%22%2C%2210%22%5D%7D%2C%7B%22op%22%3A%22To%20Hex%22%2C%22args%22%3A%5B%22Space%22%5D%7D%2C%7B%22op%22%3A%22Return%22%2C%22args%22%3A%5B%5D%7D%2C%7B%22op%22%3A%22To%20Base64%22%2C%22args%22%3A%5B%22A-Za-z0-9%2B%2F%3D%22%5D%7D%5D&input=U29tZSBkYXRhIHdpdGggYSAxIGluIGl0ClNvbWUgZGF0YSB3aXRoIGEgMiBpbiBpdA
|
||||
[8]: https://gchq.github.io/CyberChef/?recipe=%5B%7B%22op%22%3A%22XOR%22%2C%22args%22%3A%5B%7B%22option%22%3A%22Hex%22%2C%22string%22%3A%223a%22%7D%2Cfalse%2Cfalse%5D%7D%2C%7B%22op%22%3A%22To%20Hexdump%22%2C%22args%22%3A%5B%2216%22%2Cfalse%2Cfalse%5D%7D%5D&input=VGhlIGFuc3dlciB0byB0aGUgdWx0aW1hdGUgcXVlc3Rpb24gb2YgbGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgZXZlcnl0aGluZyBpcyA0Mi4
|
||||
[8]: https://gchq.github.io/CyberChef/?recipe=%5B%7B%22op%22%3A%22XOR%22%2C%22args%22%3A%5B%7B%22option%22%3A%22Hex%22%2C%22string%22%3A%223a%22%7D%2Cfalse%2Cfalse%5D%7D%2C%7B%22op%22%3A%22To%20Hexdump%22%2C%22args%22%3A%5B%2216%22%2Cfalse%2Cfalse%5D%7D%5D&input=VGhlIGFuc3dlciB0byB0aGUgdWx0aW1hdGUgcXVlc3Rpb24gb2YgbGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgZXZlcnl0aGluZyBpcyA0Mi4
|
||||
@@ -1,50 +0,0 @@
|
||||
# Serve up .htm files as binary files rather than text/html.
|
||||
# This allows cyberchef.htm to be downloaded rather than opened in the browser.
|
||||
AddType application/octet-stream .htm
|
||||
|
||||
# Fix Apache bug #45023 where "-gzip" is appended to all ETags, preventing 304 responses
|
||||
<IfModule mod_headers.c>
|
||||
RequestHeader edit "If-None-Match" "^\"(.*)-gzip\"$" "\"$1\""
|
||||
Header edit "ETag" "^\"(.*[^g][^z][^i][^p])\"$" "\"$1-gzip\""
|
||||
</IfModule>
|
||||
|
||||
# Set gzip compression on all resources that support it
|
||||
<IfModule mod_deflate.c>
|
||||
SetOutputFilter DEFLATE
|
||||
</IfModule>
|
||||
|
||||
# Set Expires headers on various resources
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive On
|
||||
|
||||
# 10 minutes
|
||||
ExpiresDefault "access plus 600 seconds"
|
||||
|
||||
# 30 days
|
||||
ExpiresByType image/x-icon "access plus 2592000 seconds"
|
||||
ExpiresByType image/jpeg "access plus 2592000 seconds"
|
||||
ExpiresByType image/png "access plus 2592000 seconds"
|
||||
ExpiresByType image/gif "access plus 2592000 seconds"
|
||||
|
||||
# 7 days
|
||||
ExpiresByType text/css "access plus 604800 seconds"
|
||||
ExpiresByType text/javascript "access plus 604800 seconds"
|
||||
ExpiresByType application/javascript "access plus 604800 seconds"
|
||||
ExpiresByType text/html "access plus 604800 seconds"
|
||||
</IfModule>
|
||||
|
||||
# Set Cache-Control headers on various resources
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\\.(ico|jpe?g|png|gif)$">
|
||||
Header set Cache-Control "max-age=2592000, public"
|
||||
</FilesMatch>
|
||||
<FilesMatch "\\.(css)$">
|
||||
Header set Cache-Control "max-age=600, public"
|
||||
</FilesMatch>
|
||||
<FilesMatch "\\.(js)$">
|
||||
Header set Cache-Control "max-age=600, private, must-revalidate"
|
||||
</FilesMatch>
|
||||
<FilesMatch "\\.(x?html?)$">
|
||||
Header set Cache-Control "max-age=600, private, must-revalidate"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
@@ -1,383 +0,0 @@
|
||||
<!--
|
||||
CyberChef - The Cyber Swiss Army Knife
|
||||
|
||||
@copyright Crown Copyright 2016
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright 2016 Crown Copyright
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>CyberChef</title><meta name="copyright" content="Crown Copyright 2016"><meta name="description" content="The Cyber Swiss Army Knife"><meta name="keywords" content="base64, hex, decode, encode, encrypt, decrypt, compress, decompress, regex, regular expressions, hash, crypt, hexadecimal, user agent, url, certificate, x.509, parser, JSON, gzip, md5, sha1, aes, des, blowfish, xor"><link rel="icon" type="image/png" href="data:image/x-icon;base64,AAABAAEAEA8AAAEAIAAkBAAAFgAAACgAAAAQAAAAHgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwP5CQkE+Ojo5OiIiIS4aGhkt8fHxLe3t7S4GBgU6Hh4dWZWVlMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaWlrvS0tL/0dHR/9HR0f/Pz8/+qamp/6ysrP+srKz/rKys/3h4eJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKioqix8fH/8bGxv/Gxsb/xcXF/pqamv+cnJz/nJyc/5ycnP9paWl/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwyOjo6P/m5ub/5ubm/+Xl5f7Ly8v/zc3N/83Nzf/Ozs7/lZWVowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxscfn5+f/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/zc3N/5KSkqIAAAAAYWFhDwAAAAAEBAQA////AAAAAACqqqrI5+fn/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/83Nzf+wsLDcnp6eo6urq8pjY2MbAAAAAAAAAACVlZWm4uLi/+bm5v/m5ub/5ubm/+Tk5P7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP+8vLz7bGxsLQAAAACioqJ+6Ojo/+bm5v7l5eX/5ubm/+bm5v/l5eX+ysrK/8zMzP/MzMz/zMzM/8zMzP/MzMz/t7e33Y2NjVxFRUULx8fHwubm5v/m5ub/5ubm/+bm5v/m5ub+5eXl/8rKyv7MzMz/zMzM/8zMzP/MzMz/zMzM/svLy//Hx8f/WlpaDcnJycnm5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP/Dw8P3oKCgxQAAAAG1tbWZ5+fn/+Xl5f7m5ub/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/y8vL/szMzP/Nzc3/tbW15UNDQxgAAAAAAAAAD76+vuLo6Oj/5ubm/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/8zMzP/BwcH9tra2+L29vflpaWkuR0dHAAAAAAAAAAAAiYmJZKurq4uXl5d909PT7eXl5f/MzMz/x8fH/6qqqty9vb3/g4ODlQAAABFra2tAAAAAAAAAAAAbGxsAAAAAAAAAAAAAAAAAAAAAAG9vbyOTk5N5j4+PnHl5eVZCQkIVkpKSJmNjYxEAAAAAAAAAAAAAAAD//wAA//8AAOAHAADgDwAA4AcAAOAHAADgAQAAwAEAAMABAACAAAAAgAAAAIABAADAAQAA9AcAAP9/AAA="><style type="text/css">/*!
|
||||
* CyberChef - The Cyber Swiss Army Knife
|
||||
*
|
||||
* @copyright Crown Copyright 2016
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright 2016 Crown Copyright
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*//*! @license
|
||||
========================================================================
|
||||
Bootstrap Colorpicker v2.3.6
|
||||
https://itsjavi.com/bootstrap-colorpicker/
|
||||
|
||||
Originally written by (c) 2012 Stefan Petre
|
||||
Licensed under the Apache License v2.0
|
||||
http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
*/.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}.colorpicker-saturation{width:100px;height:100px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAQAAADa613fAAAP9klEQVR4XnRWC47rNgwcKjlA0bv2VL1Qi/YELRav7203iS1ppqZoiXCAhuBHVLI74xFtG3/Hz2joIOjRGuR5eMYuRn9YA1fds859KX8ZvczLr9/pImiR3Rqky9/wlajRIdVE/1Rufeu/0No3/ASgBZAJUkwgi0iCaEatekJJoEqiTQncd67/gyOfRCZshTed0Nl8LbLj8D6qxtoq9/7kJz/aH/3Xfu8VwI5+AUH8DxE7gUyiIpZ5LwiGzUqE3CScJsCDQHAsvBnxWpkbC0QMHmBp6latWS0bnvrCN/x1+xPfce+Ij0GAyeAGGz15sOiax2UylPhKrFaMPnVWClwepKh07hdhkVDsK2uoyEIySergjdbY2VBtV8VLr8Mf9mF/4wMb7kR8FOhzFWZZe7HIZD9JRIbee28eJKBweTB6TwjYkAgWaUmtDveGw1Wx3zZ76YlPPfQd/+gTTUFkiGiJ+NQAszU1EPT/QJEgufolAMPkNU4CVOyUIBLg4xglEZHGQnTFOFV0VaulYddBhA986ge/7N/yQi/3flFgwfQq2ibLnTDBRl9TmUHyJASPV/eoN0UISIr+ICQKIFV4EpljSjV1uFVUq9hRtet5e9gXvuyHPW0zMhQxWaoBBa9Tg8vsCEhww23Smd0CKjIkmPIoxWrUBDgJqFCyESF43ctQxLUoHN7Q1KyVhqrNNm3cy2vMyQNPVKjc29Rh5SSU+giWdRJHkLnQG71FQEuNyNGBTDdBQQAKCuGiEUS/jcyGbkMPq931OIzb/dUPGuVlG7f+slqkO5NAAlzTMdcq0NkzmsEBmAQkbI+pSHbiqnuWIA6lijhvqwIxMyWxMGZiPU669XJE1tADDTs2HWpwKxuqdnTpOiOR42xlzLtm3pXGel3xd8/oTs8Xy0MV8GM1RlsC2Y3Wy3wut3M+2mEVux0Gt9fhzTWyLvGiiJYaqY5DWRFIwAiQ5r6gB9GpQihJw4I9j5Mkscj3BnzGjBhv8xna5P1Jo428o6IOPY5KFZtVOkEKqUjqQY9Gi+jrIOFwJUDzRtA9xyoIrGGmkNRmxVAnZoK+TkUIeUYni5wEzgOG5iZX5HCr2JyQNqdk++G0rgb1ochSIGutTj4P7F0PuRUAolmh5sCzAHn1BYyaADh6bgFeoBx6vst091CEvcSLWBBpqGq384jZ5llVHSwEShLx+D4d0mU3D5eEAJQ9KEhOZUYnDENV2qKgmIlQhWfdvcoXYaegPp/n1oKIOgYFqxrzQSciqNhv/5FqPpy6b0UcX2vf13DfWySRSEgkEYlEJJGQSyKJSEQSCYlEEpHexIVO3XOevffze2a+PfPv9x1rne1c3b3Mmlmz9mE++zuzngfnw/E+Dlc4LL4NwHdFy7u3KGPVmZ6/4eeMoDyre3i/KHADIHYO04w9zO0mAotuKnrc7XaPjvu66bNe5cDT7RlPepEnfS2X8dF1/utDvD+OwGDBxEgQywLCvIMYWBY+DShwAAORAdv9PswhDAqOUCi5+71AbFcDMR4xBDNfhySKXPXZ1+Vub+Q1Ltf5z7eC0AjVldHI26rIFdKIAyYBJCFVUhVDwttAnM52B3Ect1TFQXzJ0z33lOuib/QO8g+CuO0gKBRU80A8hkeJ0b1KRQWmFQVSh8mf3lpUpNaRulzN5NArrmKKGMijXgzk7w5ijdFVgT8f1IdFNjVWjDWicUYWEEMmSFDtILdzHW5XueHp7p+yuS54ep5/c5BE2Gw/gWPNYU4/PZaak2VGEsFjSbOf8irea6KQgojGCk0KxZY31tWWgzwayF8N5KYyo3VADVicWWrhwzr3ZqIOa5xW5zbqMPPMiyDURHDIHQTeWq7KFXcQPOqzPOL5Ov/iIDEDy7DHEwx0PTgjO8SS0fOEHcZNMt+XKEFMj8Q4QUSvPu6HPuvd4N9/x12RPwcIVRCAakSOUzHgsUSMFWYzDQ+PiOJqAOuYc9jh5TecnA+xHfFyOYhebeTH89P80wrCJzUjlsx7euIV0g4zQFUSiBPioIWBACFC7GgDj8P91ZSJOQmQP74MAnQo8H5RIe8kZ0kBcQCMAlEpRDiKROBxbR0ksdhWFq0gR9q9uQzkDzuIFQSPqAgRCAsCaVNF2ZAAhxvtzcqcnDk6tpXxSsayqXLIgSOb6zqeH+fvO0i9XEu5EVV+OZehRZJ6BGTeaRhCkTzVIZeAzaWGAFfErIPogQI5CuR3HQQx7DzBB16R3s7e0MBUPedjWutgG/JUTPqMeAQNEiytJRnJearWUgdwFNxN7rtBoECuj/O3BMHaTIxQ0a4GctireElTJHJvLTaalih5kvBCGMvkdESUMAdCFaI4yG8SpDfRWAptqkAJUwCG6B7lOREFSZBqKs57MEHqVJEBwHa2lp0OiKtiQ18gx9P89QrSXyc0vObBM4vPmBADqJZLAo/yzK7qPSZstCy+fDSZlhrm+Zkyjsf5q2otdC14zkLjHLf0me9wjNqQo0B1a6wBJRaIEgC2Qw9oby/cRHA+xHCQy/xlB1HVSV3Y/5yVhsc7dBi2UoIWCMcbELZWgxNCGUZ5y4ceBaLlE8dAfrEosrYT+z8ya3sxXndFBxuQivNGEHFCbLGBlBLKGYHZoeoQpcjtMn/uICPefcxecpuDOEemg9S/44cflZPIlWolyHkLrEpgbS9IQRlAgZgi0WDjsEiPh+PN/Fkogq4GdzPtarlRGW2tJwEK1RMTEvdVdmhAKHO1pdUuGQsVcX+rSfGzDbwGyE8NRPQc83HCaOkTZwPqABZBdFq8zAN1gue0FPO8wYUFBE1WkMwVzM1iQ4BItFh+H36Qy/yJg0DRQICmBl+tbKUC5cCj3yXI+SUFBS78ZAcBtHt+e9lBuiqpTNh9zTvIjzuIWxVYGQJpAZY+VWS3QKh84iSZbwuIdiDpc4KztQa/sjhMaDJEJDSZ8mZ+kCBdC0JpKVNQzZdKu+EsOeFCosrngVAkDS/uy6iGnW7UxmMpkB8FyFKo6iQW8z1HuBdMu1pdkZdB8jWTjlFtNaiJRYniIDcD+eECMqFLS9ED6DgxzCMKnRD3HYYA2uMCJUh70OK8G0EUnJV8lqe8nj84QdqLhdoJskNlEw1ivajM8LtPBhIeN99LESXI9xcQIHFQudHngZjUhXOQeGlUYmAddh5pxMhzV0M1vMAtMFIVmfp6fq+DgEWefjQVenstaqUy3bJQAiVlEihDghCDINFQg8oUhoQPkO8SBEM7SFQ72VYBwPuE7k8uYF5LNwg/TEd2zkuKjIIhTiJRlYrDfNS1QL7DYUcbcCyKJNwOwucVCVSwBBj/DwghXA2hQtACgCBBPprfXkAIFIYRXhONQARFU00Tsh6LEmmQUbkTImMi9me5qaHDIeBgHeRbdxAIqAJBCDSoCNVQglrciqX/ZCD9RRP6rgpBvhmKAFhg2ForBLXBYPtUjj7vCHPe8SXbYAY47gHB9mKeqjjIg/53fmMD0fR9Bug7SFcHI6EA1OC/E8QTL4NgBSGiCiyTChnI1zcQxmyfRZGM6w701KRybDvsIK3LWDx6mxGkcglEZQLkawnCdppZ6sgCh8trWWBUQaUWCEOlOs7HAenFE45QSu9RQQDAqchXNxDq4orQR44qRIFUQvM+mRJuB6GDEixgCbSBQGXghEEbdn1P/zO/QhAWCsWsmRhLa2VFkSZIgSVKmgEQhvk6K8YKMRZl7Dwg4amOUYvFBfLlE4RasOCB5S9PXKq0AqGDMiYIReXF0mYctITWBmqR5F38X5Y7yJfeCtKBzNbWYm5XpsMpf3dRZD3jPDesvdVCOs6KYQXIFw1E4fcE8dHWOepZBXpLJcACWUZVMRZbfvgXR4Ak8A7VVSKSVuu9p6/mFxyE7cOWavtLp952O8huK83+gmHzHaAsVXLgAvl8gPCvHzAFsM8GNXGKPH5cmN02sXTLa8QdKRXMzHv67/k5A9k1UIx36UH/VlWWtuKssNiRapB6BaLXl6MA+ayDcNS3v/sYXgCL620F1kk8QhKAEOvKu4DvajDO5zkHc4fBg76anyEIIcamBPex5EK8AoVHhMW7QAqWrYD1204CJB1hCfOAV/PTBPH0zBmJmsZZKCEaAmdqm4zMcYxYLN0JuHThIAjirAnp3px7TRgD+ZSD/K92M1CNIgbC8Ex7FkSEIlQEEUQEQQQBRBABEUQQEQTx3X0Evap9AhP39jL5OvuzAWuvbDaTTDIzX2aypUCJ0i7nAigoQAk9gUIUSxXEoCFyyVIuL9ZQcMZoArnwr4D0OLS8jGNGTgGnsZQWMYrcOARoIReAALBeWhf+RUCAIEsECFQHLkwR5zj4JW3t5WOUU5djvgQIawD53EDsctmYz8xGaZGPBUR3qNkiGwqDICUYIFpqBgRaayCfFiAWR2wWvoobmzxdF8N5kyxXmvap/sgGcLF/aoBosbG+lE395R8zCA4BqUYgOgYq+HtvBrT0LK15X8lZwx5f9klCX0rdgXzIIGbdhXMqZtHzJhuptEjmsFc4KzmN5IFPtfM7gWw2kPczSIqQSPUDYKYBMamsBCpKphW0iA5H8AbMDPJOQYjLZg1Vk4G49GlCYNYAkdOd0kwRQ8FCyAHydgLZ6Z2AqrVtjDUQ7hCEmrkEooDAsB2YnBCvkBpZ6yBvJpCd7Mn5zJ6C4QF2BUQPgHEIGUrGnHzQ8rlMekBeTyAzwDJksxwM4+w3BY02B8mIl0CmFRm+ZscxAuSnvwqQsECTIGSV6FEoJFTygVuLine truncated
|
||||
========================================================================
|
||||
bootstrap-switch - v3.1.0
|
||||
http://www.bootstrap-switch.org
|
||||
Copyright 2012-2013 Mattia Larentis
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/.bootstrap-switch{cursor:pointer;border:1px solid #ccc;text-align:left;overflow:hidden;line-height:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;min-width:100px;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch.bootstrap-switch-mini{min-width:71px}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding-bottom:4px;padding-top:4px;font-size:10px;line-height:9px}.bootstrap-switch.bootstrap-switch-small{min-width:79px}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding-bottom:3px;padding-top:3px;font-size:12px;line-height:18px}.bootstrap-switch.bootstrap-switch-large{min-width:120px}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding-bottom:9px;padding-top:9px;font-size:16px;line-height:normal}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-indeterminate,.bootstrap-switch.bootstrap-switch-readonly{opacity:.5;filter:alpha(opacity=50);cursor:default!important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label{cursor:default!important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-radius:0 3px 3px 0}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-radius:3px 0 0 3px}.bootstrap-switch.bootstrap-switch-focused{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-container,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-container{margin-left:0}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-container,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-container{margin-left:-50%}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-container,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-indeterminate .bootstrap-switch-container{margin-left:-25%}.bootstrap-switch .bootstrap-switch-container{display:inline-block;width:150%;top:0;border-radius:4px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block!important;height:100%;padding-bottom:4px;padding-top:4px;font-size:14px;line-height:20px}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on{text-align:center;z-index:1;width:33.333333333%}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{color:#fff;background:#428bca}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{color:#fff;background:#5bc0de}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{color:#fff;background:#5cb85c}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch .boLine truncated
|
||||
========================================================================
|
||||
Bootstrap v3.3.6 (http://getbootstrap.com)
|
||||
Copyright 2011-2016 Twitter, Inc.
|
||||
Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
|
||||
normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css
|
||||
*/html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.glyphicon,address{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.dropdown-menu,.modal-content{-webkit-background-clip:padding-box}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e03Line truncated
|
||||
========================================================================
|
||||
StyleSheet for Google Code Prettify
|
||||
Copyright (C) 2006 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.clo,.opn,.pun{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.kwd,.tag,.typ{font-weight:700}.str{color:#060}.kwd{color:#006}.com{color:#600;font-style:italic}.typ{color:#404}.lit{color:#044}.clo,.opn,.pun{color:#440}.tag{color:#006}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}#content-wrapper{top:0;left:0;width:100%;height:100%}#banner{height:30px;width:100%;text-align:center;line-height:30px}#wrapper{top:30px;bottom:0;width:100%}div#operations,div#recipe{width:50%;height:100%}div#input,div#output{width:100%;height:50%}.title{padding:10px;height:43px}.textarea-wrapper{top:43px;bottom:0;width:100%;overflow:hidden}#output-html,textarea{width:100%;height:100%;border:none;padding:3px;-moz-padding-start:3px;-moz-padding-end:3px}#input-text,#output-html,#output-text{position:relative;border-width:0;margin:0;resize:none;background-color:transparent;white-space:pre-wrap;word-wrap:break-word}#output-html{display:none;overflow-y:auto;-moz-padding-start:1px}.split{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:auto;position:relative}.gutter.gutter-horizontal,.split.split-horizontal{height:100%;float:left}#input-highlighter,#output-highlighter{position:absolute;left:0;top:0;width:100%;height:100%;padding:3px;margin:0;overflow:hidden;letter-spacing:normal;white-space:pre-wrap;word-wrap:break-word;color:#fff;background-color:transparent;border:none}#op-list,#rec-list,.op-list{margin:0;padding:0;list-style-type:none}#op-list,#rec-list{position:absolute;top:43px;bottom:0;width:100%}.io-btn-group,.io-info{margin-top:-4px;float:right}#rec-list{bottom:120px;overflow:auto}.operation{cursor:pointer;padding:10px;list-style-type:none;position:relative}#controls{position:absolute;width:100%;height:120px;bottom:0;padding:10px}.io-info{margin-right:20px;height:30px;text-align:right;line-height:10px}.arg-group,.inline-args input[type=checkbox]{margin-top:10px}#input-info{line-height:15px}.arg-group{display:table;width:100%}.arg-group-text{display:block}.inline-args{float:left;width:auto;margin-right:30px;height:34px}.inline-args input[type=number]{width:100px}.arg-input{display:table-cell;width:100%;padding:6px 12px}.short-string{width:150px}select{display:block}.arg[disabled]{cursor:not-allowed;opacity:1}textarea.arg{width:100%;min-height:50px;height:70px;margin-top:5px;border:1px solid #ddd;resize:vertical}.arg-label{display:table-cell;width:1px;padding-right:10px;font-weight:400;white-space:pre}.title,optgroup{font-weight:700}.editable-option{position:relative;display:inline-block}.editable-option-select{min-width:250px}.editable-option-input{position:absolute;top:1px;left:1px;width:calc(100% - 20px);height:calc(100% - 2px)!important;border:none!important}#operational-controls{width:65%;float:left;text-align:center}#bake-group{display:table;width:100%}#bake{display:table-cell;width:100%;border-top-right-radius:0;border-bottom-right-radius:0}#auto-bake-label{display:table-cell;padding:1px;line-height:1.35;width:60px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #5cb85c}#auto-bake-label:hover{border-left-color:#398439}#auto-bake-label div{font-size:10px;padding:2px}#extra-controls{float:right;width:35%;padding-left:10px}.op-icon{float:right;margin-left:10px;margin-top:3px}.recip-icons{position:absolute;top:13px;right:10px;height:16px}.recip-icon{margin-right:10px;vertical-align:baseline;float:right}.disable-icon{width:16px;height:16px;margin-top:-1px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAACfElEQVQ4y6WTPWgTYRjHf8nlfVvuoDVIP4Yuki4WHKoUqggFRUTsUEGkVG2hmCq6OnTwIxYHB+eijZOKdLNDW1pKKyGigh8dBHUJElxyBgx3vEnukvdyDrUhRXDxGR+e/+/583xEwjDkfyIGwNVTzURm4tYAMA6MAoN/0tvAMrA48uL+l2bx4w0iYRjSuHKC6OnTZLqHk8CcaZq9bW1tSCkBqNVq+L5PpVIpAHdGfr5LN9bXiT7Z2nGgteb1/qFkLBJZ6OjowHEc8vk8pVIJgHg8TldXF52dnb2u6y5s7R/iuF5JSyAKkLl4eyAMwznLsrBtm1wu99Z13amk+BFJih8R13WXANrb27EsizAM5zIXbw+wC9Baj0spe5VSFAqFt4ZhXJ6ufXuK55E5cDKVSCTGenp6yGazKKWQUvZqrcebgCAIRqWUOI6DEOLR1K8POapVMgfPpoC7u2LLspYcx0FKSRAEo60OBg3DwPd9Jr5vPqWvj8zh83vEwL2J75vnfN/HMAy01oPNNQZBQBAEO1OvVsl0D/8lTuZfpYDd7gRBQKuD7XK5jGmarB679PIv8deVFJUKq8cuTZqmSblcRmu93QpYVkohhMCyrLE94n2/UlSrbJy5kRBCXBNCoJRCa73cClh0XbfgeR6WZZHNZunv719KvnmeYnWVVxdmJ2Ox2DMhxFHP83Bdt6C1XgR2LvHzQDvvb84npZQL8Xgc0zSJRqN7br7RaFCpVCiVStRqtZmhh9fTh754TQdMr82nPc+bsW27UCwWUUpRr9ep1+sopSgWi9i2XfA8b2Z6bT6ttabp4GMi0uz0aXbhn890+MFM85mO5MIdwP/Eb1pMUCdctYRzAAAAAElFTkSuQmCC) no-repeat}.disable-icon-selected{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVR4XqWTP0tbURjGn9zY3mjBwLine truncated
|
||||
if (navigator.userAgent && navigator.userAgent.match(/MSIE \d\d?\./)) {
|
||||
document.write("Internet Explorer is not supported, please use Firefox or Chrome instead");
|
||||
alert("Internet Explorer is not supported, please use Firefox or Chrome instead");
|
||||
}</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAE1UlEQVR4XoWVC0xT1x/Hv729t7e3LSoqWIRNW6uoARVH5mPGzfcmRvbSacISI5n42Mss25jROd0mOjXO7C9/3XSZdvjIlsxFYCrETWe34nQpD4GIIKgDIaAilpZH+9svJ9BUg/O0n9w2J+fz+55f77nVEREeN2wpWw0AEph7TPW1vMzHLpL/QzYJwGpmKjOM8TMSGJ6rAHCW2cFF6vsSiMR9pMtiMhIcVvMz44eBr0gcaRXzZVcbUXq1AS5PbRd/9gFYxfLDD4ulh6RjAFRqqpzxyco55q83vIwnrAPgKqnD29tP4N0deSgquwl73GAc2LhI2bRqbj9NVfbxulzG1KeYpSqA/LH2IcPz/5du5gVIXevE9kO/o8BdjVstXty67UXhXzXYffRPvP7xjxgcacEve5ZbEh0xswHsflTirZpRic5e96Jup/McPjvwK28/BlvemofjO9Nw7ps3ULBnGQ5uegVL5o1DEMCOHBcO5Rfjq8xUlYMs5XAzQjYiwvD5WZMYrzP3Eh095aHExV9SctoeOna6hB41jhWWUcraHHr+HSeddlfR4ZMesqVkNbLHws5Q4jcnxMeYZj7twC5OoaqKgACccl/F+r1nkLEtF0cKLocCzUq2QdNUaEYDvs31YO7kkUgaHWsGkBLeiqnTkmzcyyp0BwgGRYZqUOA8WYq9P13ClZt3cN8XgKv0Zkgs6yWYNIMQB0iHC+X1mJ48wgRgMnruSSOAJ8dxP8uvNUFR9EJsMMhQZL0oYFQNQpK+YEJIXFLTzFIVRhbzPGob7iLRYdVJkm56b+LxjI/vU1TWNkNmmcJigSgg2oKM1CQkjRoipNcb7yHPXSvSaizledQ1tmHM8CgQ0Zjek3efkXQ6HSTenqzXM5JIK8TMwmkOJI8WB0QInIVXoHBBjgdOCPBbkWWwA/zy94orGLm8pgkJ9iH4g/uoZzEDUYQLjHdEo3ecKa7nggoknuvq6hbFgkHCiLhIXLnezMV0HtEKPo5BAJXl1bcw1h4NTsBIAr2kEwWyj5dgs/MCvvjBg7vt3dA0g+gt70bsTC9LsA/tDw4XDASC58IPyNnzxXWB556ywWiQRQodw1sTpM0ZjRUpCVg2Jx6REUaYNFUIuXXghNB4TaI9CmeKqvwA3OHibe7iOl9R2Q2kp04UYhIQiAjRkSZYB5oQPUADKAifvxPd3QFuQZC/EhZMseO8p47+rvynHMCpkLjn0bdm4/9Pt09OiMPE+BixKBggcQUhNDo6u+HzdcDf0YVO7nF8XH/YrBFYtzuvnduwOPSsJqIQfCQLlmQe7mhobqM8VxUt//wEpW/NpzW7Cum97LP00X4XbfjOTRsPFtGn31+goooGarrjpUUf5Hj5PKwOd0kIG0R4qaj0+pF5q/d7iYLIWjUDrz47CuPsg2BW9TAZJIziH2nmhFisWZiI5tttNHPFPu/Fyzfer8n9MBsPyugBAFisU1a+Zpu/pSVt/VHf/uMXg+7SG9TS2i7g5zEd+PliYGlmjt/+wuby/o4ZswHEMpYwT/g/iLgLIgEMZAYp5qih/WzTZhksUQlqxOB4yOYoHQLBgL+1ydfaUNXZ2lDRWv2bC6AWAHcYvqKefb4+/5pYLgPQGBMT0UM/xsJIjK/ntLb1XL09+ClM9i/zfjVLWKBgfAAAAABJRU5ErkJggg=="></a><a href="#" id="options" class="banner-right">Options<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAD4UlEQVR4XpWTbWxTVRzGn9vhWlnZG1NYlwFLMGCUYfEt2dqwuDBfljGCUZkjgCgZyBeWBQ1ki1TmuvkFkw3JNAw1BhwmOslmtCwZmtDooCs6MCM4m6bQjtEVUtrStds9/s9J7/1wa5f4JE/+Pb25vzzPPedI0OgDEoAjEML75DGbzTaM/ykd0nVk/7v7cPjwITQ0bOsCcL6lpaUWgISFJXHeQmDT8U9PgMkySkwmDofRaBwEwDLBn9nzdfGHJ87JNL/SgiX6Ak+BRLUDHG7v7MJs/AHKysq0qbRQ/p6/bW8dTHlYTuthBSy1trbaALgJflSBWywWSFJaIRnpcl/6rBEulwtvVeZUm1caqkFaRH4oKyurbd/ePdBlZR8E0FpeXo61a9eAMZngEhKz0d95I2pzJT0tMDk5CZ/Ph49+jIJkUqv19vaO12+ue3Lx4oeRTCQIyIQV5eYXoKPDLl7ibVQo4HYefx0V+88iJfPlz7dfUcGUpthgMPz1Uk11/uNPrOMp1b0K37sLAc/LR4e9U8CH/I8t49DR3jfnnms6zVtvIuB/H0leta+v7zJNpnhoaCgxOxtnwekpdud2gMViUXbqVB+jtCwej4spkqeLomUQbwHASu7nZzo0E8TVGzfx8YAX3x+tRVXzgFpdA1DqqsrYhMxODoyKhB6PhzW0fcvOnDnN+DMNULPIcOiDt3x+ZV1UUooLx7ZgV6cDW8wGvLF5E9rb25UNnQYwr7nSmaGv1axB+4GXcWD786C1qP/qs3koLcrBVMDP24Dkp7kOGukWgu6ot0COBLEkPx/V5lwBnxj7FVarFQZ9Nmbu3Fbgbr75GnA69J2t67F760Y4fj6PX1zXAd0izM/NqWeVqmPpI8v4scwI12mhh962oLG2Amd/GMalax5UULqJib+RTMTBFQ6Hg4lE4mkOLyx6FCQVrtfrVbh6NVe9YmdfDv7GQvdjzNbdz3a9d4yd/OlPdvCT71hjcxfjz1fXNK8GkEM2NjU1VRKEybLMbvq8bOfOHeI3/09NTEndzbRB9VXr0X/uAjw+P6wvVIukfu8NXLwuIzk9Zo4FvbkACslLx8fHk+RantxEJ6anp4e3gZD4eCmtXFWKeZlh+pYnDRr5x1EVnBhJpoIU8Ol0OucABCKRyLbu7u5vQqEQKPFoMpm0A5BU8PCIEzNhMza+WIc/rqlQxLwjlQQNavZEVu6Aw+FwkVcAiJLjZLHLAly4vHjD4EX/GEhu8oNYRED1umiVXFByD4ACllLmYqm1TJ4XQGHxm6k3b8PuL8yhqQCHCxmXZK+42t8ypbn3UvpUn8spM+5/AT4U+4f4kq1OAAAAAElFTkSuQmCC"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGLklEQVR4Xq1XXWxUxxX+7t2769312muE7UCMowSXQDBxHmpo5VQqimQjRaiKlPBQiahKFaG8hCrICc4LT0lDhR8ixXnCElFaAQ9RUWLIgsHgKqCkpBY/TYrruja73nXtrL3e3/v7M5kzMtfRZlcBup/0aWbunXPON+foXp2RGGMgSJKEchw7diza1dV1QpblbgDtq/sq7iU/qxPYjnMLwLRt22f37t37MQC32n4FlSGPjIy8EolEhjs6OsBHBIJBWKYJ07Q4TVi2LdayoiDgDyAQUDgDkCUff64/YxjGM4VC4cXLly+fOHToUOjmzZt6xUCojGAoFBru6elB26ZNCPLgtmWBnwiO48B1XTicNDIiE3NBn0/mghvA7eHz+0FIJpP1qIjqGQiRMzoRnZTmXoq9MqxRU0vImxZ0XYdu6HytolDIT01P/3d8YGBgGID7oAJ8PwwmyzI/mY+EiCzkclkUcjkezBDrcDgsytTa2oKWllZMTf0be/bseRVAmjPDWXpQASKoZVli5LXEwuIictkVmIaJaNM6NESjaICEMA8cqqtDXbAOoWCQKIRyJDkXOI2HyYAzMTHxRwa8KUHyMwAdHZvRsbkDsuKHpmlQOTVVg8QFyjw7PsUvSKBx9dQaPDyYAO3w4cMnAHzO2XDt7zdiyYUMEqkluMwFwCCJ8pR/lhKEIE4PDylA55xfrV/Lmf5d2NbVwmvdhECoCYq/AbISAaR6JGZmcHc2Adex4GcmbDMPx2H/twCXU12lEqiPQjNCsJiMgOVAknUsLi4gHp9HV/dTeGH/87BtF6f/fAFNIQZeDABp3A/uKLine truncated
|
||||
* CyberChef - The Cyber Swiss Army Knife
|
||||
*
|
||||
* @copyright Crown Copyright 2016
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright 2016 Crown Copyright
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
"use strict";function BigInteger(a,b,c){null!=a&&("number"==typeof a?this.fromNumber(a,b,c):null==b&&"string"!=typeof a?this.fromString(a,256):this.fromString(a,b))}function nbi(){return new BigInteger(null)}function am1(a,b,c,d,e,f){for(;--f>=0;){var g=b*this[a++]+c[d]+e;e=Math.floor(g/67108864),c[d++]=67108863&g}return e}function am2(a,b,c,d,e,f){for(var g=32767&b,h=b>>15;--f>=0;){var i=32767&this[a],j=this[a++]>>15,k=h*i+j*g;i=g*i+((32767&k)<<15)+c[d]+(1073741823&e),e=(i>>>30)+(k>>>15)+h*j+(e>>>30),c[d++]=1073741823&i}return e}function am3(a,b,c,d,e,f){for(var g=16383&b,h=b>>14;--f>=0;){var i=16383&this[a],j=this[a++]>>14,k=h*i+j*g;i=g*i+((16383&k)<<14)+c[d]+e,e=(i>>28)+(k>>14)+h*j,c[d++]=268435455&i}return e}function int2char(a){return BI_RM.charAt(a)}function intAt(a,b){var c=BI_RC[a.charCodeAt(b)];return null==c?-1:c}function bnpCopyTo(a){for(var b=this.t-1;b>=0;--b)a[b]=this[b];a.t=this.t,a.s=this.s}function bnpFromInt(a){this.t=1,this.s=a<0?-1:0,a>0?this[0]=a:a<-1?this[0]=a+this.DV:this.t=0}function nbv(a){var b=nbi();return b.fromInt(a),b}function bnpFromString(a,b){var c;if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else{if(4!=b)return void this.fromRadix(a,b);c=2}this.t=0,this.s=0;for(var d=a.length,e=!1,f=0;--d>=0;){var g=8==c?255&a[d]:intAt(a,d);g<0?"-"==a.charAt(d)&&(e=!0):(e=!1,0==f?this[this.t++]=g:f+c>this.DB?(this[this.t-1]|=(g&(1<<this.DB-f)-1)<<f,this[this.t++]=g>>this.DB-f):this[this.t-1]|=g<<f,f+=c,f>=this.DB&&(f-=this.DB))}8==c&&0!=(128&a[0])&&(this.s=-1,f>0&&(this[this.t-1]|=(1<<this.DB-f)-1<<f)),this.clamp(),e&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var a=this.s&this.DM;this.t>0&&this[this.t-1]==a;)--this.t}function bnToString(a){if(this.s<0)return"-"+this.negate().toString(a);var b;if(16==a)b=4;else if(8==a)b=3;else if(2==a)b=1;else if(32==a)b=5;else{if(4!=a)return this.toRadix(a);b=2}var c,d=(1<<b)-1,e=!1,f="",g=this.t,h=this.DB-g*this.DB%b;if(g-- >0)for(h<this.DB&&(c=this[g]>>h)>0&&(e=!0,f=int2char(c));g>=0;)h<b?(c=(this[g]&(1<<h)-1)<<b-h,c|=this[--g]>>(h+=this.DB-b)):(c=this[g]>>(h-=b)&d,h<=0&&(h+=this.DB,--g)),c>0&&(e=!0),e&&(f+=int2char(c));return e?f:"0"}function bnNegate(){var a=nbi();return BigInteger.ZERO.subTo(this,a),a}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var b=this.s-a.s;if(0!=b)return b;var c=this.t;if(b=c-a.t,0!=b)return this.s<0?-b:b;for(;--c>=0;)if(0!=(b=this[c]-a[c]))return b;return 0}function nbits(a){var b,c=1;return 0!=(b=a>>>16)&&(a=b,c+=16),0!=(b=a>>8)&&(a=b,c+=8),0!=(b=a>>4)&&(a=b,c+=4),0!=(b=a>>2)&&(a=b,c+=2),0!=(b=a>>1)&&(a=b,c+=1),c}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(a,b){var c;for(c=this.t-1;c>=0;--c)b[c+a]=this[c];for(c=a-1;c>=0;--c)b[c]=0;b.t=this.t+a,b.s=this.s}function bnpDRShiftTo(a,b){for(var c=a;c<this.t;++c)b[c-a]=this[c];b.t=Math.max(this.t-a,0),b.s=this.s}function bnpLShiftTo(a,b){var c,d=a%this.DB,e=this.DB-d,f=(1<<e)-1,g=Math.floor(a/this.DB),h=this.s<<d&this.DM;for(c=this.t-1;c>=0;--c)b[c+g+1]=this[c]>>e|h,h=(this[c]&f)<<d;for(c=g-1;c>=0;--c)b[c]=0;b[g]=h,b.t=this.t+g+1,b.s=this.s,b.clamp()}function bnpRShiftTo(a,b){b.s=this.s;var c=Math.floor(a/this.DB);if(c>=this.t)return void(b.t=0);var d=a%this.DB,e=this.DB-d,f=(1<<d)-1;b[0]=this[c]>>d;for(var g=c+1;g<this.t;++g)b[g-c-1]|=(this[g]&f)<<e,b[g-c]=this[g]>>d;d>0&&(b[this.t-c-1]|=(this.s&f)<<e),b.t=this.t-c,b.clamp()}function bnpSubTo(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);c<e;)d+=this[c]-a[c],b[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d-=a.s;c<this.t;)d+=this[c],b[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d-=a[c],b[c++]=d&this.DM,d>>=this.DB;d-=a.s}b.s=d<0?-1:0,d<-1?b[c++]=this.DV+d:d>0&&(b[c++]=d),b.t=c,b.clamp()}function bnpMultiplyTo(a,b){var c=this.abs(),d=a.abs(),e=c.t;for(b.t=e+d.t;--e>=0;)b[e]=0;for(e=0;e<d.t;++e)b[e+c.t]=c.am(0,d[e],b,e,0,c.t);b.s=0,b.clamp(),this.s!=a.s&&BigInteger.ZERO.subTo(b,b)}function bnpSquareTo(a){for(var b=this.abs(),c=a.t=2*b.t;--c>=0;)a[c]=0;for(c=0;c<b.t-1;++c){var d=b.am(c,b[c],a,2*c,0,1);(a[c+b.t]+=b.am(c+1,2*b[c],a,2*c+1,d,b.t-c-1))>=b.DV&&(a[c+b.t]-=b.DV,a[c+b.t+1]=1)}a.t>0&&(a[a.t-1]+=b.am(c,b[c],a,2*c,0,1)),a.s=0,a.clamp()}function bnpDivRemTo(a,b,c){var d=a.abs();if(!(d.t<=0)){var e=this.abs();if(e.t<d.t)return null!=b&&b.fromInt(0),void(null!=c&&this.copyTo(c));null==c&&(c=nbi());var f=nbi(),g=this.s,h=a.s,i=this.DB-nbits(d[d.t-1]);i>0?(d.lShiftTo(i,f),e.lShiftTo(i,c)):(d.copyTo(f),e.copyTo(c));var j=f.t,k=f[j-1];if(0!=k){var l=k*(1<<this.F1)+(j>1?f[j-2]>>this.F2:0),m=this.FV/l,n=(1<<this.F1)/l,o=1<<this.F2,p=c.t,q=p-j,r=null==b?nbi():b;for(f.dlShiftTo(q,r),c.compareTo(r)>=0&&(c[c.t++]=1,c.subTo(r,c)),BigInteger.ONE.dlShiftTo(j,r),r.subTo(f,f);f.t<j;)f[f.t++]=0;for(;--q>=0;){var s=c[--p]==k?this.DM:Math.floor(c[p]*m+(c[p-1]+o)*n);if((c[p]+=f.am(0,s,c,q,0,j))<s)for(f.dlShiftTo(q,r),c.subTo(r,c);c[p]<--s;)c.subTo(r,c)}null!=b&&(c.drShiftTo(j,Line truncated
|
||||
========================================================================
|
||||
The 'jsrsasign'(RSA-Sign JavaScript Library) License
|
||||
|
||||
Copyright (c) 2010-2013 Kenji Urushima
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
*/
|
||||
function X509(){this.subjectPublicKeyRSA=null,this.subjectPublicKeyRSA_hN=null,this.subjectPublicKeyRSA_hE=null,this.hex=null,this.getSerialNumberHex=function(){return ASN1HEX.getDecendantHexVByNthList(this.hex,0,[0,1])},this.getIssuerHex=function(){return ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,3])},this.getIssuerString=function(){return X509.hex2dn(ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,3]))},this.getSubjectHex=function(){return ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,5])},this.getSubjectString=function(){return X509.hex2dn(ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,5]))},this.getNotBefore=function(){var a=ASN1HEX.getDecendantHexVByNthList(this.hex,0,[0,4,0]);return a=a.replace(/(..)/g,"%$1"),a=decodeURIComponent(a)},this.getNotAfter=function(){var a=ASN1HEX.getDecendantHexVByNthList(this.hex,0,[0,4,1]);return a=a.replace(/(..)/g,"%$1"),a=decodeURIComponent(a)},this.readCertPEM=function(a){var b=X509.pemToHex(a),c=X509.getPublicKeyHexArrayFromCertHex(b),d=new RSAKey;d.setPublic(c[0],c[1]),this.subjectPublicKeyRSA=d,this.subjectPublicKeyRSA_hN=c[0],this.subjectPublicKeyRSA_hE=c[1],this.hex=b},this.readCertPEMWithoutRSAInit=function(a){var b=X509.pemToHex(a),c=X509.getPublicKeyHexArrayFromCertHex(b);this.subjectPublicKeyRSA.setPublic(c[0],c[1]),this.subjectPublicKeyRSA_hN=c[0],this.subjectPublicKeyRSA_hE=c[1],this.hex=b}}/** @license
|
||||
========================================================================
|
||||
Bootstrap v3.3.6 (http://getbootstrap.com)
|
||||
Copyright 2011-2016 Twitter, Inc.
|
||||
Licensed under the MIT license
|
||||
*/
|
||||
if(function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=_.type(a);return"function"!==c&&!_.isWindow(a)&&(!(1!==a.nodeType||!b)||("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a))}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+Math.random()}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c)}catch(a){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;c<d;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Na[0].contentDocument,b.write(),b.close(),c=t(a,b),Na.detach()),Oa[a]=c),c}function v(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||_.contains(a.ownerDocument,a)||(g=_.style(a,b)),Qa.test(g)&&Pa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function w(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function x(a,b){if(b in a)return b;for(var c=b[0].toUpperCase()+b.slice(1),d=b,e=Xa.length;e--;)if(b=Xa[e]+c,b in a)return b;return d}function y(a,b,c){var d=Ta.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function z(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=_.css(a,c+wa[f],!0,e)),d?("content"===c&&(g-=_.css(a,"padding"+wa[f],!0,e)),"margin"!==c&&(g-=_.css(a,"border"+wa[f]+"Width",!0,e))):(g+=_.css(a,"padding"+wa[f],!0,e),"padding"!==c&&(g+=_.css(a,"border"+wa[f]+"Width",!0,e)));return g}function A(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g="border-box"===_.css(a,"boxSizing",!1,f);if(e<=0||null==e){if(e=v(a,b,f),(e<0||null==e)&&(e=a.style[b]),Qa.test(e))return e;d=g&&(Y.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+z(a,b,c||(g?"border":"content"),d,f)+"px"}function B(a,b){for(var c,d,e,f=[],g=0,h=a.length;g<h;g++)d=a[g],d.style&&(f[g]=ra.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&xa(d)&&(f[g]=ra.access(d,"olddisplay",u(d.nodeName)))):(e=xa(d),"none"===c&&e||ra.set(d,"olddisplay",e?c:_.css(d,"display"))));for(g=0;g<h;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function C(a,b,c,d,e){return new C.prototype.init(a,b,c,d,e)}function D(){return setTimeout(function(){Ya=void 0}),Ya=_.now()}function E(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=wa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function F(a,b,c){for(var d,e=(cb[b]||[]).concat(cb["*"]),f=0,g=e.length;f<g;f++Line truncated
|
||||
}));for(b=0;b<c;b++)_.find(a,e[b],d);return d=this.pushStack(c>1?_.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(d(this,a||[],!1))},not:function(a){return this.pushStack(d(this,a||[],!0))},is:function(a){return!!d(this,"string"==typeof a&&fa.test(a)?_(a):a||[],!1).length}});var ia,ja=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ka=_.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:ja.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||ia).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof _?b[0]:b,_.merge(this,_.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:Z,!0)),ga.test(c[1])&&_.isPlainObject(b))for(c in b)_.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=Z.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=Z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):_.isFunction(a)?"undefined"!=typeof ia.ready?ia.ready(a):a(_):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),_.makeArray(a,this))};ka.prototype=_.fn,ia=_(Z);var la=/^(?:parents|prev(?:Until|All))/,ma={children:!0,contents:!0,next:!0,prev:!0};_.extend({dir:function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&_(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),_.fn.extend({has:function(a){var b=_(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(_.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=fa.test(a)||"string"!=typeof a?_(a,b||this.context):0;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&_.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?_.unique(f):f)},index:function(a){return a?"string"==typeof a?U.call(_(a),this[0]):U.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(_.unique(_.merge(this.get(),_(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),_.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return _.dir(a,"parentNode")},parentsUntil:function(a,b,c){return _.dir(a,"parentNode",c)},next:function(a){return e(a,"nextSibling")},prev:function(a){return e(a,"previousSibling")},nextAll:function(a){return _.dir(a,"nextSibling")},prevAll:function(a){return _.dir(a,"previousSibling")},nextUntil:function(a,b,c){return _.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return _.dir(a,"previousSibling",c)},siblings:function(a){return _.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return _.sibling(a.firstChild)},contents:function(a){return a.contentDocument||_.merge([],a.childNodes)}},function(a,b){_.fn[a]=function(c,d){var e=_.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=_.filter(d,e)),this.length>1&&(ma[a]||_.unique(e),la.test(a)&&e.reverse()),this.pushStack(e)}});var na=/\S+/g,oa={};_.Callbacks=function(a){a="string"==typeof a?oa[a]||f(a):_.extend({},a);var b,c,d,e,g,h,i=[],j=!a.once&&[],k=function(f){for(b=a.memory&&f,c=!0,h=e||0,e=0,g=i.length,d=!0;i&&h<g;h++)if(i[h].apply(f[0],f[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,i&&(j?j.length&&k(j.shift()):b?i=[]:l.disable())},l={add:function(){if(i){var c=i.length;!function b(c){_.each(c,function(c,d){var e=_.type(d);"function"===e?a.unique&&l.has(d)||i.push(d):d&&d.length&&"string"!==e&&b(d)})}(arguments),d?g=i.length:b&&(e=c,k(b))}return this},remove:function(){return i&&_.each(arguments,function(a,b){for(var c;(c=_.inArray(b,i,c))>-1;)i.splice(c,1),d&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return a?_.inArray(a,i)>-1:!(!i||!i.length)},empty:function(){return i=[],g=0,this},disable:function(){return i=j=b=void 0,this},disabled:function(){return!i},lock:function(){return j=void 0,b||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return!i||c&&!j||(b=b||[],b=[a,b.slice?b.slice():b],d?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!c}};return l},_.extend({Deferred:function(a){var b=[["resolve","done",_.Callbacks("once memory"),"resolved"],["reject","fail",_.Callbacks("once memory"),"rejected"],["notify","progress",_.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return _.Deferred(function(c){_.each(b,function(b,f){var g=_.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&_.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){retLine truncated
|
||||
_.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(E(b,!0),a,d,e)}}),_.each({slideDown:E("show"),slideUp:E("hide"),slideToggle:E("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){_.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),_.timers=[],_.fx.tick=function(){var a,b=0,c=_.timers;for(Ya=_.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||_.fx.stop(),Ya=void 0},_.fx.timer=function(a){_.timers.push(a),a()?_.fx.start():_.timers.pop()},_.fx.interval=13,_.fx.start=function(){Za||(Za=setInterval(_.fx.tick,_.fx.interval))},_.fx.stop=function(){clearInterval(Za),Za=null},_.fx.speeds={slow:600,fast:200,_default:400},_.fn.delay=function(a,b){return a=_.fx?_.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=Z.createElement("input"),b=Z.createElement("select"),c=b.appendChild(Z.createElement("option"));a.type="checkbox",Y.checkOn=""!==a.value,Y.optSelected=c.selected,b.disabled=!0,Y.optDisabled=!c.disabled,a=Z.createElement("input"),a.value="t",a.type="radio",Y.radioValue="t"===a.value}();var db,eb,fb=_.expr.attrHandle;_.fn.extend({attr:function(a,b){return qa(this,_.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){_.removeAttr(this,a)})}}),_.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===za?_.prop(a,b,c):(1===f&&_.isXMLDoc(a)||(b=b.toLowerCase(),d=_.attrHooks[b]||(_.expr.match.bool.test(b)?eb:db)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=_.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void _.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(na);if(f&&1===a.nodeType)for(;c=f[e++];)d=_.propFix[c]||c,_.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!Y.radioValue&&"radio"===b&&_.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),eb={set:function(a,b,c){return b===!1?_.removeAttr(a,c):a.setAttribute(c,c),c}},_.each(_.expr.match.bool.source.match(/\w+/g),function(a,b){var c=fb[b]||_.find.attr;fb[b]=function(a,b,d){var e,f;return d||(f=fb[b],fb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,fb[b]=f),e}});var gb=/^(?:input|select|textarea|button)$/i;_.fn.extend({prop:function(a,b){return qa(this,_.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[_.propFix[a]||a]})}}),_.extend({propFix:{for:"htmlFor",class:"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!_.isXMLDoc(a),f&&(b=_.propFix[b]||b,e=_.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||gb.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),Y.optSelected||(_.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),_.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){_.propFix[this.toLowerCase()]=this});var hb=/[\t\r\n\f]/g;_.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(na)||[];i<j;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hb," "):" ")){for(f=0;e=b[f++];)d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=_.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(na)||[];i<j;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hb," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");g=a?_.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):_.isFunction(a)?this.each(function(c){_(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if("string"===c)for(var b,d=0,e=_(this),f=a.match(na)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else c!==za&&"boolean"!==c||(this.className&&ra.set(this,"__className__",this.className),this.className=this.className||a===!1?"":ra.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;c<d;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(hb," ").indexOf(b)>=0)return!0;return!1}});var ib=/\r/g;_.fn.extend({val:function(a){var b,c,d,e=tLine truncated
|
||||
a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.trLine truncated
|
||||
========================================================================
|
||||
bootstrap-switch - v3.1.0
|
||||
http://www.bootstrap-switch.org
|
||||
Copyright 2012-2013 Mattia Larentis
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
function(){var a=[].slice;!function(b,c){var d;return d=function(){function a(a,c){null==c&&(c={}),this.$element=b(a),this.options=b.extend({},b.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),inverse:this.$element.data("inverse"),radioAllOff:this.$element.data("radio-all-off"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class")},c),this.$wrapper=b("<div>",{class:function(a){return function(){var b;return b=[""+a.options.baseClass].concat(a._getClasses(a.options.wrapperClass)),b.push(a.options.state?""+a.options.baseClass+"-on":""+a.options.baseClass+"-off"),null!=a.options.size&&b.push(""+a.options.baseClass+"-"+a.options.size),a.options.animate&&b.push(""+a.options.baseClass+"-animate"),a.options.disabled&&b.push(""+a.options.baseClass+"-disabled"),a.options.readonly&&b.push(""+a.options.baseClass+"-readonly"),a.options.indeterminate&&b.push(""+a.options.baseClass+"-indeterminate"),a.options.inverse&&b.push(""+a.options.baseClass+"-inverse"),a.$element.attr("id")&&b.push(""+a.options.baseClass+"-id-"+a.$element.attr("id")),b.join(" ")}}(this)()}),this.$container=b("<div>",{class:""+this.options.baseClass+"-container"}),this.$on=b("<span>",{html:this.options.onText,class:""+this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=b("<span>",{html:this.options.offText,class:""+this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=b("<label>",{html:this.options.labelText,class:""+this.options.baseClass+"-label"}),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this.$element.on("init.bootstrapSwitch",function(b){return function(){return b.options.onInit.apply(a,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(b){return function(){return b.options.onSwitchChange.apply(a,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off).trigger("init.bootstrapSwitch"),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler()}return a.prototype._constructor=a,a.prototype.state=function(a,b){return"undefined"==typeof a?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(this.options.indeterminate?(this.indeterminate(!1),a=!0):a=!!a,this.$element.prop("checked",a).trigger("change.bootstrapSwitch",b),this.$element)},a.prototype.toggleState=function(a){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",a)},a.prototype.size=function(a){return"undefined"==typeof a?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+"-"+this.options.size),a&&this.$wrapper.addClass(""+this.options.baseClass+"-"+a),this.options.size=a,this.$element)},a.prototype.animate=function(a){return"undefined"==typeof a?this.options.animate:(a=!!a,this.$wrapper[a?"addClass":"removeClass"](""+this.options.baseClass+"-animate"),this.options.animate=a,this.$element)},a.prototype.toggleAnimate=function(){return this.$wrapper.toggleClass(""+this.options.baseClass+"-animate"),this.options.animate=!this.options.animate,this.$element},a.prototype.disabled=function(a){return"undefined"==typeof a?this.options.disabled:(a=!!a,this.$wrapper[a?"addClass":"removeClass"](""+this.options.baseClass+"-disabled"),this.$element.prop("disabled",a),this.options.disabled=a,this.$element)},a.prototype.toggleDisabled=function(){return this.$element.prop("disabled",!this.options.disabled),this.$wrapper.toggleClass(""+this.options.baseClass+"-disabled"),this.options.disabled=!this.options.disabled,this.$element},a.prototype.readonly=function(a){return"undefined"==typeof a?this.options.readonly:(a=!!a,this.$wrapper[a?"addClass":"removeClass"](""+this.options.baseClass+"-readonly"),this.$element.prop("readonly",a),this.options.readonly=a,this.$element)},a.prototype.toggleReadonly=function(){return this.$element.prop("readonly",!this.options.readonly),this.$wrapper.toggleClass(""+this.options.baseClass+"-readonly"),this.options.readonly=!this.options.readonly,this.$element},a.prototype.indeterminate=function(a){return"undefined"==typeof a?this.options.iLine truncated
|
||||
========================================================================
|
||||
Copyright (c) 2011, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.com/yui/license.html
|
||||
version: 2.9.0
|
||||
*/
|
||||
var typeof_yahoo=typeof YAHOO;if("undefined"==typeof_yahoo||!YAHOO)var YAHOO={};YAHOO.namespace=function(){var a,b,c,d=arguments,e=null;for(a=0;a<d.length;a+=1)for(c=(""+d[a]).split("."),e=YAHOO,b="YAHOO"==c[0]?1:0;b<c.length;b+=1)e[c[b]]=e[c[b]]||{},e=e[c[b]];return e},YAHOO.log=function(a,b,c){var d=YAHOO.widget.Logger;return!(!d||!d.log)&&d.log(a,b,c)},YAHOO.register=function(a,b,c){var d,e,f,g,h,i=YAHOO.env.modules;for(i[a]||(i[a]={versions:[],builds:[]}),d=i[a],e=c.version,f=c.build,g=YAHOO.env.listeners,d.name=a,d.version=e,d.build=f,d.versions.push(e),d.builds.push(f),d.mainClass=b,h=0;h<g.length;h+=1)g[h](d);b?(b.VERSION=e,b.BUILD=f):YAHOO.log("mainClass is undefined for module "+a,"warn")},YAHOO.env=YAHOO.env||{modules:[],listeners:[]},YAHOO.env.getVersion=function(a){return YAHOO.env.modules[a]||null},YAHOO.env.parseUA=function(a){var b,c=function(a){var b=0;return parseFloat(a.replace(/\./g,function(){return 1==b++?"":"."}))},d=navigator,e={ie:0,opera:0,gecko:0,webkit:0,chrome:0,mobile:null,air:0,ipad:0,iphone:0,ipod:0,ios:null,android:0,webos:0,caja:d&&d.cajaVersion,secure:!1,os:null},f=a||navigator&&navigator.userAgent,g=window&&window.location,h=g&&g.href;return e.secure=h&&0===h.toLowerCase().indexOf("https"),f&&(/windows|win32/i.test(f)?e.os="windows":/macintosh/i.test(f)?e.os="macintosh":/rhino/i.test(f)&&(e.os="rhino"),/KHTML/.test(f)&&(e.webkit=1),b=f.match(/AppleWebKit\/([^\s]*)/),b&&b[1]&&(e.webkit=c(b[1]),/ Mobile\//.test(f)?(e.mobile="Apple",b=f.match(/OS ([^\s]*)/),b&&b[1]&&(b=c(b[1].replace("_","."))),e.ios=b,e.ipad=e.ipod=e.iphone=0,b=f.match(/iPad|iPod|iPhone/),b&&b[0]&&(e[b[0].toLowerCase()]=e.ios)):(b=f.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/),b&&(e.mobile=b[0]),/webOS/.test(f)&&(e.mobile="WebOS",b=f.match(/webOS\/([^\s]*);/),b&&b[1]&&(e.webos=c(b[1]))),/ Android/.test(f)&&(e.mobile="Android",b=f.match(/Android ([^\s]*);/),b&&b[1]&&(e.android=c(b[1])))),b=f.match(/Chrome\/([^\s]*)/),b&&b[1]?e.chrome=c(b[1]):(b=f.match(/AdobeAIR\/([^\s]*)/),b&&(e.air=b[0]))),e.webkit||(b=f.match(/Opera[\s\/]([^\s]*)/),b&&b[1]?(e.opera=c(b[1]),b=f.match(/Version\/([^\s]*)/),b&&b[1]&&(e.opera=c(b[1])),b=f.match(/Opera Mini[^;]*/),b&&(e.mobile=b[0])):(b=f.match(/MSIE\s([^;]*)/),b&&b[1]?e.ie=c(b[1]):(b=f.match(/Gecko\/([^\s]*)/),b&&(e.gecko=1,b=f.match(/rv:([^\s\)]*)/),b&&b[1]&&(e.gecko=c(b[1]))))))),e},YAHOO.env.ua=YAHOO.env.parseUA(),function(){if(YAHOO.namespace("util","widget","example"),"undefined"!=typeof YAHOO_config){var a,b=YAHOO_config.listener,c=YAHOO.env.listeners,d=!0;if(b){for(a=0;a<c.length;a++)if(c[a]==b){d=!1;break}d&&c.push(b)}}}(),YAHOO.lang=YAHOO.lang||{},function(){var a=YAHOO.lang,b=Object.prototype,c="[object Array]",d="[object Function]",e="[object Object]",f=[],g={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`"},h=["toString","valueOf"],i={isArray:function(a){return b.toString.apply(a)===c},isBoolean:function(a){return"boolean"==typeof a},isFunction:function(a){return"function"==typeof a||b.toString.apply(a)===d},isNull:function(a){return null===a},isNumber:function(a){return"number"==typeof a&&isFinite(a)},isObject:function(b){return b&&("object"==typeof b||a.isFunction(b))||!1},isString:function(a){return"string"==typeof a},isUndefined:function(a){return"undefined"==typeof a},_IEEnumFix:YAHOO.env.ua.ie?function(c,d){var e,f,g;for(e=0;e<h.length;e+=1)f=h[e],g=d[f],a.isFunction(g)&&g!=b[f]&&(c[f]=g)}:function(){},escapeHTML:function(a){return a.replace(/[&<>"'\/`]/g,function(a){return g[a]})},extend:function(c,d,e){if(!d||!c)throw new Error("extend failed, please check that all dependencies are included.");var f,g=function(){};if(g.prototype=d.prototype,c.prototype=new g,c.prototype.constructor=c,c.superclass=d.prototype,d.prototype.constructor==b.constructor&&(d.prototype.constructor=d),e){for(f in e)a.hasOwnProperty(e,f)&&(c.prototype[f]=e[f]);a._IEEnumFix(c.prototype,e)}},augmentObject:function(b,c){if(!c||!b)throw new Error("Absorb failed, verify dependencies.");var d,e,f=arguments,g=f[2];if(g&&g!==!0)for(d=2;d<f.length;d+=1)b[f[d]]=c[f[d]];else{for(e in c)!g&&e in b||(b[e]=c[e]);a._IEEnumFix(b,c)}return b},augmentProto:function(b,c){if(!c||!b)throw new Error("Augment failed, verify dependencies.");var d,e=[b.prototype,c.prototype];for(d=2;d<arguments.length;d+=1)e.push(arguments[d]);return a.augmentObject.apply(this,e),b},dump:function(b,c){var d,e,f=[],g="{...}",h="f(){...}",i=", ",j=" => ";if(!a.isObject(b))return b+"";if(b instanceof Date||"nodeType"in b&&"tagName"in b)return b;if(a.isFunction(b))return h;if(c=a.isNumber(c)?c:3,a.isArray(b)){for(f.push("["),d=0,e=b.length;d<e;d+=1)a.isObject(b[d])?f.push(c>0?a.dump(b[d],c-1):g):f.push(b[d]),f.push(i);f.length>1&&f.pop(),f.push("]")}else{f.push("{");for(d in b)a.hasOwnProperty(b,d)&&(f.push(d+j),a.isObject(b[d])?f.push(c>0?a.dump(b[d],c-1):g):f.push(b[d]),f.push(i));f.length>1&&f.pop(),f.push("}")}return f.join("")},substitute:function(b,c,d,f){for(var g,h,i,j,k,l,m,n,o,Line truncated
|
||||
========================================================================
|
||||
Snowfall jquery plugin version 1.51 Dec 2nd 2012
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Developed by Jason Brown for any bugs or questions email me at loktar69@hotmail
|
||||
info on the plugin is located on Somethinghitme.com
|
||||
*/
|
||||
Date.now||(Date.now=function(){return(new Date).getTime()}),function(){for(var a=["webkit","moz"],b=0;b<a.length&&!window.requestAnimationFrame;++b){var c=a[b];window.requestAnimationFrame=window[c+"RequestAnimationFrame"],window.cancelAnimationFrame=window[c+"CancelAnimationFrame"]||window[c+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var d=0;window.requestAnimationFrame=function(a){var b=Date.now(),c=Math.max(d+16,b);return setTimeout(function(){a(d=c)},c-b)},window.cancelAnimationFrame=clearTimeout}}(),function(a){a.snowfall=function(b,c){function d(d,e,f,g){this.x=d,this.y=e,this.size=f,this.speed=g,this.step=0,this.stepSize=h(1,10)/100,c.collection&&(this.target=o[h(0,o.length-1)]);var i=null;c.image?(i=document.createElement("img"),i.src=c.image):(i=document.createElement("div"),a(i).css({background:c.flakeColor})),a(i).attr({class:"snowfall-flakes"}).css({width:this.size,height:this.size,position:c.flakePosition,top:this.y,left:this.x,fontSize:0,zIndex:c.flakeIndex}),a(b).get(0).tagName===a(document).get(0).tagName?(a("body").append(a(i)),b=a("body")):a(b).append(a(i)),this.element=i,this.update=function(){if(this.y+=this.speed,this.y>j-(this.size+6)&&this.reset(),this.element.style.top=this.y+"px",this.element.style.left=this.x+"px",this.step+=this.stepSize,v===!1?this.x+=Math.cos(this.step):this.x+=v+Math.cos(this.step),c.collection&&this.x>this.target.x&&this.x<this.target.width+this.target.x&&this.y>this.target.y&&this.y<this.target.height+this.target.y){var a=this.target.element.getContext("2d"),b=this.x-this.target.x,d=this.y-this.target.y,e=this.target.colData;if(void 0!==e[parseInt(b)][parseInt(d+this.speed+this.size)]||d+this.speed+this.size>this.target.height)if(d+this.speed+this.size>this.target.height){for(;d+this.speed+this.size>this.target.height&&this.speed>0;)this.speed*=.5;a.fillStyle="#fff",a.shadowOffsetX=1,a.shadowOffsetY=1,a.shadowColor="#000",a.shadowBlur=1,void 0==e[parseInt(b)][parseInt(d+this.speed+this.size)]?(e[parseInt(b)][parseInt(d+this.speed+this.size)]=1,a.beginPath(),a.arc(b,d+this.speed+this.size,this.size/2,0,2*Math.PI,!0),a.closePath(),a.fill()):(e[parseInt(b)][parseInt(d+this.speed)]=1,a.beginPath(),a.arc(b,d+this.speed+this.size,this.size,0,2*Math.PI,!0),a.closePath(),a.fill()),this.reset()}else this.speed=1,this.stepSize=0,parseInt(b)+1<this.target.width&&void 0==e[parseInt(b)+1][parseInt(d)+1]?this.x++:parseInt(b)-1>0&&void 0==e[parseInt(b)-1][parseInt(d)+1]?this.x--:(a.fillStyle="#fff",a.shadowOffsetX=-4,a.shadowOffsetY=-4,a.shadowColor="#000",a.shadowBlur=4,a.beginPath(),a.arc(b,d+this.speed+this.size,this.size,0,2*Math.PI,!0),a.closePath(),a.fill(),e[parseInt(b)][parseInt(d)]=1,this.reset())}(this.x+this.size>k-l||this.x<l)&&this.reset()},this.reset=function(){this.y=0,this.x=h(l,k-l),this.stepSize=h(1,10)/100,this.size=h(100*c.minSize,100*c.maxSize)/100,this.element.style.width=this.size+"px",this.element.style.height=this.size+"px",this.speed=h(c.minSpeed,c.maxSpeed)}}function e(){for(i=0;i<f.length;i+=1)f[i].update();m=requestAnimationFrame(function(){e()})}var f=[],g={flakeCount:35,flakeColor:"#ffffff",flakePosition:"absolute",flakeIndex:999999,minSize:1,maxSize:2,minSpeed:1,maxSpeed:5,round:!1,shadow:!1,collection:!1,collectionHeight:40,deviceorientation:!1},c=a.extend(g,c),h=function(a,b){return Math.round(a+Math.random()*(b-a))};a(b).data("snowfall",this);var i=0,j=a(b).height(),k=a(b).width(),l=0,m=0;if(c.collection!==!1){var n=document.createElement("canvas");if(n.getContext&&n.getContext("2d"))for(var o=[],p=a(c.collection),q=c.collectionHeight,i=0;i<p.length;i++){var r=p[i].getBoundingClientRect(),s=a("<canvas/>",{class:"snowfall-canvas"}),t=[];if(r.top-q>0){a("body").append(s),s.css({position:c.flakePosition,left:r.left+"px",top:r.top-q+"px"}).prop({width:r.width,height:q});for(var u=0;u<r.width;u++)t[u]=[];o.push({element:s.get(0),x:r.left,y:r.top-q,width:r.width,height:q,colData:t})}}else c.collection=!1}for(a(b).get(0).tagName===a(document).get(0).tagName&&(l=25),a(window).bind("resize",function(){j=a(b)[0].clientHeight,k=a(b)[0].offsetWidth}),i=0;i<c.flakeCount;i+=1)f.push(new d(h(l,k-l),h(0,j),h(100*c.minSize,100*c.maxSize)/100,h(c.minSpeed,c.maxSpeed)));c.round&&a(".snowfall-flakes").css({"-moz-border-radius":c.maxSize,"-webkit-border-radius":c.maxSize,"border-radius":c.maxSize}),c.shadow&&a(".snowfall-flakes").css({"-moz-box-shadow":"1px 1px 1px #555","-webkit-box-shadow":"1px 1px 1px #555","box-shadow":"1px 1px 1px #555"});var v=!1;c.deviceorientation&&a(window).bind("deviceorientation",function(a){v=.1*a.originalEvent.gamma}),e(),this.clear=function(){a(".snowfall-canvas").remove(),a(b).children(".snowfall-flakes").remove(),cancelAnimationFrame(m)}},a.fn.snowfall=function(b){return"object"==typeof b||void 0==b?this.each(function(c){new a.snowfall(this,b)}):"string"==typeof b?this.each(function(b){var c=a(this).data("snowfall");c&&Line truncated
|
||||
========================================================================
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS=CryptoJS||function(a,b){var c={},d=c.lib={},e=d.Base=function(){function a(){}return{extend:function(b){a.prototype=this;var c=new a;return b&&c.mixIn(b),c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)}),c.init.prototype=c,c.$super=this,c},create:function(){var a=this.extend();return a.init.apply(a,arguments),a},init:function(){},mixIn:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),f=d.WordArray=e.extend({init:function(a,c){a=this.words=a||[],c!=b?this.sigBytes=c:this.sigBytes=4*a.length},toString:function(a){return(a||h).stringify(this)},concat:function(a){var b=this.words,c=a.words,d=this.sigBytes,e=a.sigBytes;if(this.clamp(),d%4)for(var f=0;f<e;f++){var g=c[f>>>2]>>>24-f%4*8&255;b[d+f>>>2]|=g<<24-(d+f)%4*8}else if(c.length>65535)for(var f=0;f<e;f+=4)b[d+f>>>2]=c[f>>>2];else b.push.apply(b,c);return this.sigBytes+=e,this},clamp:function(){var b=this.words,c=this.sigBytes;b[c>>>2]&=4294967295<<32-c%4*8,b.length=a.ceil(c/4)},clone:function(){var a=e.clone.call(this);return a.words=this.words.slice(0),a},random:function(b){for(var c=[],d=0;d<b;d+=4)c.push(4294967296*a.random()|0);return new f.init(c,b)}}),g=c.enc={},h=g.Hex={stringify:function(a){for(var b=a.words,c=a.sigBytes,d=[],e=0;e<c;e++){var f=b[e>>>2]>>>24-e%4*8&255;d.push((f>>>4).toString(16)),d.push((15&f).toString(16))}return d.join("")},parse:function(a){for(var b=a.length,c=[],d=0;d<b;d+=2)c[d>>>3]|=parseInt(a.substr(d,2),16)<<24-d%8*4;return new f.init(c,b/2)}},i=g.Latin1={stringify:function(a){for(var b=a.words,c=a.sigBytes,d=[],e=0;e<c;e++){var f=b[e>>>2]>>>24-e%4*8&255;d.push(String.fromCharCode(f))}return d.join("")},parse:function(a){for(var b=a.length,c=[],d=0;d<b;d++)c[d>>>2]|=(255&a.charCodeAt(d))<<24-d%4*8;return new f.init(c,b)}},j=g.Utf8={stringify:function(a){try{return decodeURIComponent(escape(i.stringify(a)))}catch(a){throw new Error("Malformed UTF-8 data")}},parse:function(a){return i.parse(unescape(encodeURIComponent(a)))}},k=d.BufferedBlockAlgorithm=e.extend({reset:function(){this._data=new f.init,this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=j.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes},_process:function(b){var c=this._data,d=c.words,e=c.sigBytes,g=this.blockSize,h=4*g,i=e/h;i=b?a.ceil(i):a.max((0|i)-this._minBufferSize,0);var j=i*g,k=a.min(4*j,e);if(j){for(var l=0;l<j;l+=g)this._doProcessBlock(d,l);var m=d.splice(0,j);c.sigBytes-=k}return new f.init(m,k)},clone:function(){var a=e.clone.call(this);return a._data=this._data.clone(),a},_minBufferSize:0}),l=(d.Hasher=k.extend({cfg:e.extend(),init:function(a){this.cfg=this.cfg.extend(a),this.reset()},reset:function(){k.reset.call(this),this._doReset()},update:function(a){return this._append(a),this._process(),this},finalize:function(a){a&&this._append(a);var b=this._doFinalize();return b},blockSize:16,_createHelper:function(a){return function(b,c){return new a.init(c).finalize(b)}},_createHmacHelper:function(a){return function(b,c){return new l.HMAC.init(a,c).finalize(b)}}}),c.algo={});return c}(Math);!function(a){var b=CryptoJS,c=b.lib,d=c.Base,e=c.WordArray,f=b.x64={};f.Word=d.extend({init:function(a,b){this.high=a,this.low=b}}),f.WordArray=d.extend({init:function(b,c){b=this.words=b||[],c!=a?this.sigBytes=c:this.sigBytes=8*b.length},toX32:function(){for(var a=this.words,b=a.length,c=[],d=0;d<b;d++){var f=a[d];c.push(f.high),c.push(f.low)}return e.create(c,this.sigBytes)},clone:function(){for(var a=d.clone.call(this),b=a.words=this.words.slice(0),c=b.length,e=0;e<c;e++)b[e]=b[e].clone();return a}})}(),function(){var a=CryptoJS,b=a.lib,c=b.WordArray,d=a.enc;d.Base64={stringify:function(a){var b=a.words,c=a.sigBytes,d=this._map;a.clamp();for(var e=[],f=0;f<c;f+=3)for(var g=b[f>>>2]>>>24-f%4*8&255,h=b[f+1>>>2]>>>24-(f+1)%4*8&255,i=b[f+2>>>2]>>>24-(f+2)%4*8&255,j=g<<16|h<<8|i,k=0;k<4&&f+.75*k<c;k++)e.push(d.charAt(j>>>6*(3-k)&63));var l=d.charAt(64);if(l)for(;e.length%4;)e.push(l);return e.join("")},parse:function(a){var b=a.length,d=this._map,e=d.charAt(64);if(e){var f=a.indexOf(e);f!=-1&&(b=f)}for(var g=[],h=0,i=0;i<b;i++)if(i%4){var j=d.indexOf(a.charAt(i-1))<<i%4*2,k=d.indexOf(a.charAt(i))>>>6-i%4*2;g[h>>>2]|=(j|k)<<24-h%4*8,h++}return c.create(g,h)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(){function a(a){return a<<8&4278255360|a>>>8&16711935}var b=CryptoJS,c=b.lib,d=c.WordArray,e=b.enc;e.Utf16=e.Utf16BE={stringify:function(a){for(var b=a.words,c=a.sigBytes,d=[],e=0;e<c;e+=2){var f=b[e>>>2]>>>16-e%4*8&65535;d.push(String.fromCharCode(f))}return d.join("")},parse:function(a){for(var b=a.length,c=[],e=0;e<b;e++)c[e>>>1]|=a.charCodeAt(e)<<16-e%2*16;return d.create(c,2*b)}};e.Utf16LE={stringify:function(b){for(var c=b.words,d=b.sigBytes,e=[],f=0;f<d;f+=2){var g=a(c[f>>>2]>>>16-f%4*8&65535);e.push(String.fromCharCode(g))}retLine truncated
|
||||
========================================================================
|
||||
CryptoJS.mode.CTRGladman
|
||||
Counter block mode compatible with Dr Brian Gladman fileenc.c
|
||||
derived from CryptoJS.mode.CTR
|
||||
Jan Hruby jhruby.web@gmail.com
|
||||
*/
|
||||
CryptoJS.mode.CTRGladman=function(){function a(a){if(255===(a>>24&255)){var b=a>>16&255,c=a>>8&255,d=255&a;255===b?(b=0,255===c?(c=0,255===d?d=0:++d):++c):++b,a=0,a+=b<<16,a+=c<<8,a+=d}else a+=1<<24;return a}function b(b){return 0===(b[0]=a(b[0]))&&(b[1]=a(b[1])),b}var c=CryptoJS.lib.BlockCipherMode.extend(),d=c.Encryptor=c.extend({processBlock:function(a,c){var d=this._cipher,e=d.blockSize,f=this._iv,g=this._counter;f&&(g=this._counter=f.slice(0),this._iv=void 0),b(g);var h=g.slice(0);d.encryptBlock(h,0);for(var i=0;i<e;i++)a[c+i]^=h[i]}});return c.Decryptor=d,c}(),CryptoJS.mode.CTR=function(){var a=CryptoJS.lib.BlockCipherMode.extend(),b=a.Encryptor=a.extend({processBlock:function(a,b){var c=this._cipher,d=c.blockSize,e=this._iv,f=this._counter;e&&(f=this._counter=e.slice(0),this._iv=void 0);var g=f.slice(0);c.encryptBlock(g,0),f[d-1]=f[d-1]+1|0;for(var h=0;h<d;h++)a[b+h]^=g[h]}});return a.Decryptor=b,a}(),CryptoJS.mode.ECB=function(){var a=CryptoJS.lib.BlockCipherMode.extend();return a.Encryptor=a.extend({processBlock:function(a,b){this._cipher.encryptBlock(a,b)}}),a.Decryptor=a.extend({processBlock:function(a,b){this._cipher.decryptBlock(a,b)}}),a}(),CryptoJS.mode.OFB=function(){var a=CryptoJS.lib.BlockCipherMode.extend(),b=a.Encryptor=a.extend({processBlock:function(a,b){var c=this._cipher,d=c.blockSize,e=this._iv,f=this._keystream;e&&(f=this._keystream=e.slice(0),this._iv=void 0),c.encryptBlock(f,0);for(var g=0;g<d;g++)a[b+g]^=f[g]}});return a.Decryptor=b,a}(),function(a){var b=CryptoJS,c=b.lib,d=c.CipherParams,e=b.enc,f=e.Hex,g=b.format;g.Hex={stringify:function(a){return a.ciphertext.toString(f)},parse:function(a){var b=f.parse(a);return d.create({ciphertext:b})}}}(),function(){if("function"==typeof ArrayBuffer){var a=CryptoJS,b=a.lib,c=b.WordArray,d=c.init,e=c.init=function(a){if(a instanceof ArrayBuffer&&(a=new Uint8Array(a)),(a instanceof Int8Array||a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array)&&(a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)),a instanceof Uint8Array){for(var b=a.byteLength,c=[],e=0;e<b;e++)c[e>>>2]|=a[e]<<24-e%4*8;d.call(this,c,b)}else d.apply(this,arguments)};e.prototype=c}}(),CryptoJS.pad.AnsiX923={pad:function(a,b){var c=a.sigBytes,d=4*b,e=d-c%d,f=c+e-1;a.clamp(),a.words[f>>>2]|=e<<24-f%4*8,a.sigBytes+=e},unpad:function(a){var b=255&a.words[a.sigBytes-1>>>2];a.sigBytes-=b}},CryptoJS.pad.Iso10126={pad:function(a,b){var c=4*b,d=c-a.sigBytes%c;a.concat(CryptoJS.lib.WordArray.random(d-1)).concat(CryptoJS.lib.WordArray.create([d<<24],1))},unpad:function(a){var b=255&a.words[a.sigBytes-1>>>2];a.sigBytes-=b}},CryptoJS.pad.Iso97971={pad:function(a,b){a.concat(CryptoJS.lib.WordArray.create([2147483648],1)),CryptoJS.pad.ZeroPadding.pad(a,b)},unpad:function(a){CryptoJS.pad.ZeroPadding.unpad(a),a.sigBytes--}},CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}},CryptoJS.pad.ZeroPadding={pad:function(a,b){var c=4*b;a.clamp(),a.sigBytes+=c-(a.sigBytes%c||c)},unpad:function(a){for(var b=a.words,c=a.sigBytes-1;!(b[c>>>2]>>>24-c%4*8&255);)c--;a.sigBytes=c+1}},function(){var a=CryptoJS,b=a.lib,c=b.BlockCipher,d=a.algo,e=[],f=[],g=[],h=[],i=[],j=[],k=[],l=[],m=[],n=[];!function(){for(var a=[],b=0;b<256;b++)b<128?a[b]=b<<1:a[b]=b<<1^283;for(var c=0,d=0,b=0;b<256;b++){var o=d^d<<1^d<<2^d<<3^d<<4;o=o>>>8^255&o^99,e[c]=o,f[o]=c;var p=a[c],q=a[p],r=a[q],s=257*a[o]^16843008*o;g[c]=s<<24|s>>>8,h[c]=s<<16|s>>>16,i[c]=s<<8|s>>>24,j[c]=s;var s=16843009*r^65537*q^257*p^16843008*c;k[o]=s<<24|s>>>8,l[o]=s<<16|s>>>16,m[o]=s<<8|s>>>24,n[o]=s,c?(c=p^a[a[a[r^p]]],d^=a[a[d]]):c=d=1}}();var o=[0,1,2,4,8,16,32,64,128,27,54],p=d.AES=c.extend({_doReset:function(){for(var a=this._key,b=a.words,c=a.sigBytes/4,d=this._nRounds=c+6,f=4*(d+1),g=this._keySchedule=[],h=0;h<f;h++)if(h<c)g[h]=b[h];else{var i=g[h-1];h%c?c>6&&h%c==4&&(i=e[i>>>24]<<24|e[i>>>16&255]<<16|e[i>>>8&255]<<8|e[255&i]):(i=i<<8|i>>>24,i=e[i>>>24]<<24|e[i>>>16&255]<<16|e[i>>>8&255]<<8|e[255&i],i^=o[h/c|0]<<24),g[h]=g[h-c]^i}for(var j=this._invKeySchedule=[],p=0;p<f;p++){var h=f-p;if(p%4)var i=g[h];else var i=g[h-4];p<4||h<=4?j[p]=i:j[p]=k[e[i>>>24]]^l[e[i>>>16&255]]^m[e[i>>>8&255]]^n[e[255&i]]}},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,g,h,i,j,e)},decryptBlock:function(a,b){var c=a[b+1];a[b+1]=a[b+3],a[b+3]=c,this._doCryptBlock(a,b,this._invKeySchedule,k,l,m,n,f);var c=a[b+1];a[b+1]=a[b+3],a[b+3]=c},_doCryptBlock:function(a,b,c,d,e,f,g,h){for(var i=this._nRounds,j=a[b]^c[0],k=a[b+1]^c[1],l=a[b+2]^c[2],m=a[b+3]^c[3],n=4,o=1;o<i;o++){var p=d[j>>>24]^e[k>>>16&255]^f[l>>>8&255]^g[255&m]^c[n++],q=d[k>>>24]^e[l>>>16&255]^f[m>>>8&255]^g[255&j]^c[n++],r=d[l>>>24]^e[m>>>16&255]^f[j>>>8&255]^g[255&k]^c[n++],s=d[m>>>24]^e[j>>>16&255]^f[k>>>8&255]^g[255&l]^c[n++];j=p,k=q,l=r,m=s}var p=(h[j>>>24]<<24|h[k>>>16&255]<<16|h[l>>>8&255]<<8|h[255&m])^c[n++],q=(h[k>>>24]<<24|h[l>>>16&255]<<16|h[Line truncated
|
||||
========================================================================
|
||||
RIPEMD160
|
||||
(c) 2012 by Cédric Mesnil. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
function(a){function b(a,b,c){return a^b^c}function c(a,b,c){return a&b|~a&c}function d(a,b,c){return(a|~b)^c}function e(a,b,c){return a&c|b&~c}function f(a,b,c){return a^(b|~c)}function g(a,b){return a<<b|a>>>32-b}var h=CryptoJS,i=h.lib,j=i.WordArray,k=i.Hasher,l=h.algo,m=j.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),n=j.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),o=j.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),p=j.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),q=j.create([0,1518500249,1859775393,2400959708,2840853838]),r=j.create([1352829926,1548603684,1836072691,2053994217,0]),s=l.RIPEMD160=k.extend({_doReset:function(){this._hash=j.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,h){for(var i=0;i<16;i++){var j=h+i,k=a[j];a[j]=16711935&(k<<8|k>>>24)|4278255360&(k<<24|k>>>8)}var l,s,t,u,v,w,x,y,z,A,B=this._hash.words,C=q.words,D=r.words,E=m.words,F=n.words,G=o.words,H=p.words;w=l=B[0],x=s=B[1],y=t=B[2],z=u=B[3],A=v=B[4];for(var I,i=0;i<80;i+=1)I=l+a[h+E[i]]|0,I+=i<16?b(s,t,u)+C[0]:i<32?c(s,t,u)+C[1]:i<48?d(s,t,u)+C[2]:i<64?e(s,t,u)+C[3]:f(s,t,u)+C[4],I|=0,I=g(I,G[i]),I=I+v|0,l=v,v=u,u=g(t,10),t=s,s=I,I=w+a[h+F[i]]|0,I+=i<16?f(x,y,z)+D[0]:i<32?e(x,y,z)+D[1]:i<48?d(x,y,z)+D[2]:i<64?c(x,y,z)+D[3]:b(x,y,z)+D[4],I|=0,I=g(I,H[i]),I=I+A|0,w=A,A=z,z=g(y,10),y=x,x=I;I=B[1]+t+z|0,B[1]=B[2]+u+A|0,B[2]=B[3]+v+w|0,B[3]=B[4]+l+x|0,B[4]=B[0]+s+y|0,B[0]=I},_doFinalize:function(){var a=this._data,b=a.words,c=8*this._nDataBytes,d=8*a.sigBytes;b[d>>>5]|=128<<24-d%32,b[(d+64>>>9<<4)+14]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),a.sigBytes=4*(b.length+1),this._process();for(var e=this._hash,f=e.words,g=0;g<5;g++){var h=f[g];f[g]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return e},clone:function(){var a=k.clone.call(this);return a._hash=this._hash.clone(),a}});h.RIPEMD160=k._createHelper(s),h.HmacRIPEMD160=k._createHmacHelper(s)}(Math),function(){var a=CryptoJS,b=a.lib,c=b.WordArray,d=b.Hasher,e=a.algo,f=[],g=e.SHA1=d.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,b){for(var c=this._hash.words,d=c[0],e=c[1],g=c[2],h=c[3],i=c[4],j=0;j<80;j++){if(j<16)f[j]=0|a[b+j];else{var k=f[j-3]^f[j-8]^f[j-14]^f[j-16];f[j]=k<<1|k>>>31}var l=(d<<5|d>>>27)+i+f[j];l+=j<20?(e&g|~e&h)+1518500249:j<40?(e^g^h)+1859775393:j<60?(e&g|e&h|g&h)-1894007588:(e^g^h)-899497514,i=h,h=g,g=e<<30|e>>>2,e=d,d=l}c[0]=c[0]+d|0,c[1]=c[1]+e|0,c[2]=c[2]+g|0,c[3]=c[3]+h|0,c[4]=c[4]+i|0},_doFinalize:function(){var a=this._data,b=a.words,c=8*this._nDataBytes,d=8*a.sigBytes;return b[d>>>5]|=128<<24-d%32,b[(d+64>>>9<<4)+14]=Math.floor(c/4294967296),b[(d+64>>>9<<4)+15]=c,a.sigBytes=4*b.length,this._process(),this._hash},clone:function(){var a=d.clone.call(this);return a._hash=this._hash.clone(),a}});a.SHA1=d._createHelper(g),a.HmacSHA1=d._createHmacHelper(g)}(),function(a){var b=CryptoJS,c=b.lib,d=c.WordArray,e=c.Hasher,f=b.algo,g=[],h=[];!function(){function b(b){for(var c=a.sqrt(b),d=2;d<=c;d++)if(!(b%d))return!1;return!0}function c(a){return 4294967296*(a-(0|a))|0}for(var d=2,e=0;e<64;)b(d)&&(e<8&&(g[e]=c(a.pow(d,.5))),h[e]=c(a.pow(d,1/3)),e++),d++}();var i=[],j=f.SHA256=e.extend({_doReset:function(){this._hash=new d.init(g.slice(0))},_doProcessBlock:function(a,b){for(var c=this._hash.words,d=c[0],e=c[1],f=c[2],g=c[3],j=c[4],k=c[5],l=c[6],m=c[7],n=0;n<64;n++){if(n<16)i[n]=0|a[b+n];else{var o=i[n-15],p=(o<<25|o>>>7)^(o<<14|o>>>18)^o>>>3,q=i[n-2],r=(q<<15|q>>>17)^(q<<13|q>>>19)^q>>>10;i[n]=p+i[n-7]+r+i[n-16]}var s=j&k^~j&l,t=d&e^d&f^e&f,u=(d<<30|d>>>2)^(d<<19|d>>>13)^(d<<10|d>>>22),v=(j<<26|j>>>6)^(j<<21|j>>>11)^(j<<7|j>>>25),w=m+v+s+h[n]+i[n],x=u+t;m=l,l=k,k=j,j=g+w|0,g=f,f=e,e=d,d=w+x|0}c[0]=c[0]+d|0,c[1]=c[1]+e|0,c[2]=c[2]+f|0,c[3]=c[3]+g|0,c[4]=c[4]+j|0,c[5]=c[5]+k|0,c[6]=c[6]+l|0,c[7]=c[7]+m|0},_doFinalize:function(){var b=this._data,c=b.words,d=8*this._nDataBytes,e=8*b.sigBytes;return c[e>>>5]|=128<<24-e%32,c[(e+64>>>9<<4)+14]=a.floor(d/4294967296),c[(e+64>>>9<<4)+15]=d,b.sigBytes=4*c.length,this._process(),this._hash},clone:function(){var a=e.clone.call(this);return a._hash=this._hash.clone(),a}});b.SHA256=e._createHelper(j),b.HmacSHA256=e._createHmacHelper(j)}(Math),function(){var a=CryptoJS,b=a.lib,c=b.WordArray,d=a.algo,e=d.SHA256,f=d.SHA224=e.extend({_doReset:function(){this._hash=new c.initLine truncated
|
||||
========================================================================
|
||||
Crypto API for JavaScript - https://github.com/nf404/crypto-api
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 nf404
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
function(a){var b=function(){this.Hashers=new l,this.Encodes=new m,this.Macs=new n,this.Tools=new o},c=function(){};c.prototype.constructor=function(){},c.prototype.processBlock=function(a){},c.prototype.update=function(a){},c.prototype.finalize=function(){};var d=function(a,b){};d.prototype.constructor=function(a,b){this.name=a,this.state={},this.state.message=[],this.state.length=0,this.state.options=b,this.blockUnits=[]},d.prototype.unitSize=4,d.prototype.unitOrder=0,d.prototype.blockSize=16,d.prototype.getState=function(){return JSON.parse(JSON.stringify(this.state))},d.prototype.setState=function(a){return this.state=a,this},d.prototype.update=function(a){for(var b=0,c=0,d=a.length;c<d;c++){var e=a.charCodeAt(c);e<128?(this.state.message.push(e),b+=1):e<2048?(this.state.message.push(192|e>>6,128|63&e),b+=2):e<55296||e>=57344?(this.state.message.push(224|e>>12,128|e>>6&63,128|63&e),b+=3):(c++,e=65536+((1023&e)<<10|1023&a.charCodeAt(c)),this.state.message.push(240|e>>18,128|e>>12&63,128|e>>6&63,128|63&e),b+=4)}this.state.length+=b,this.process()},d.prototype.updateFromArray=function(a){return this.state.length+=a.length,this.state.message=this.state.message.concat(a),this.process(),this},d.prototype.process=function(){for(;this.state.message.length>=this.blockSize*this.unitSize;){var a=0,b=0,c=this.state.message.splice(0,this.blockSize*this.unitSize);if(this.unitSize>1){this.blockUnits=[];for(var d=0,e=0;d<c.length;d+=this.unitSize,e++)if(1===this.unitOrder)for(a=this.unitSize-1,b=0;a>=0;a--,b+=8)this.blockUnits[e]|=c[d+a]<<b;else for(a=0,b=0;a<this.unitSize;a++,b+=8)this.blockUnits[e]|=c[d+a]<<b;this.processBlock(this.blockUnits)}else this.processBlock(c)}},b.prototype.BaseHasher=d;var e=function(a,b){this.constructor(a,b)};e.prototype=Object.create(d.prototype),e.prototype.unitOrder=0,e.prototype.unitSize=1,e.prototype.constructor=function(a,b){d.prototype.constructor.call(this,a,b)},e.prototype.process=function(){for(;this.state.message.length>=this.blockSize*this.unitSize;){var a=this.state.message.splice(0,this.blockSize*this.unitSize);this.blockUnits=[];for(var b=0;b<this.blockSize;b++)this.blockUnits[b]=a[b];this.processBlock(this.blockUnits)}},b.prototype.Hasher8=e;var f=function(a,b){this.constructor(a,b)};f.prototype=Object.create(d.prototype),f.prototype.unitOrder=0,f.prototype.constructor=function(a,b){d.prototype.constructor.call(this,a,b)},f.prototype.process=function(){for(;this.state.message.length>=this.blockSize*this.unitSize;){var a=this.state.message.splice(0,this.blockSize*this.unitSize);this.blockUnits=[];for(var b=0,c=0;b<this.blockSize;b++,c+=4)this.blockUnits[b]=a[c],this.blockUnits[b]|=a[c+1]<<8,this.blockUnits[b]|=a[c+2]<<16,this.blockUnits[b]|=a[c+3]<<24;this.processBlock(this.blockUnits)}},b.prototype.Hasher32le=f;var g=function(a,b){this.constructor(a,b)};g.prototype=Object.create(d.prototype),g.prototype.unitOrder=1,g.prototype.constructor=function(a,b){d.prototype.constructor.call(this,a,b)},g.prototype.process=function(){for(;this.state.message.length>=this.blockSize*this.unitSize;){var a=this.state.message.splice(0,this.blockSize*this.unitSize);this.blockUnits=[];for(var b=0,c=0;b<this.blockSize;b++,c+=4)this.blockUnits[b]=a[c]<<24,this.blockUnits[b]|=a[c+1]<<16,this.blockUnits[b]|=a[c+2]<<8,this.blockUnits[b]|=a[c+3];this.processBlock(this.blockUnits)}},b.prototype.Hasher32be=g;var h=function(){};h.prototype.constructor=function(a,b,c){},h.prototype.processBlock=function(a){},h.prototype.update=function(a){},h.prototype.finalize=function(){};var i=function(a,b,c){};i.prototype=Object.create(d.prototype),i.prototype.constructor=function(a,b,c){d.prototype.constructor.call(this,b,c)},b.prototype.BaseMac=i;var j=function(){};j.prototype.constructor=function(a){},j.prototype.stringify=function(){};var k=function(a){};k.prototype.constructor=function(a){this.hash=a},b.prototype.BaseEncode=k;var l=function(){this.hashers={}};l.prototype.add=function(a,b){if(void 0===b)throw Error("Error adding hasher: "+a);this.hashers[a]=b},l.prototype.get=function(a,b){var c=this.hashers[a];if(void 0===c&&"undefined"!=typeof require){var d=a;"sha224"===d&&(d="sha256"),require("./hasher."+d),c=this.hashers[a]}if(void 0===c)throw Error("No hash algorithm: "+a);return new c(a,b)};var m=function(){this.encodes={}};m.prototype.add=function(a,b){if(void 0===b)throw Error("Error adding encode: "+a);this.encodes[a]=b},m.prototype.get=function(a,b){var c=this.encodes[a];if(void 0===c&&"undefined"!=typeof require&&(require("./enc."+a),c=this.encodes[a]),void 0===c)throw Error("No encode type: "+a);return new c(b)};var n=function(){this.macs={}};n.prototype.add=function(a,b){if(void 0===b)throw Error("Error adding mac: "+a);this.macs[a]=b},n.prototype.get=function(a,b,c,d){var e=this.macs[a];if(void 0===e&&"undefined"!=typeof require&&(require("./mac."+a),e=this.macs[a]),void 0===e)throw Error("No mac type: "+a);return new e(b,c,d)};var o=function(){};o.prototype.rotateLeft=function(a,b){return a<<b|Line truncated
|
||||
========================================================================
|
||||
Copyright (c) 2005 Tom Wu
|
||||
All Rights Reserved.
|
||||
Basic JavaScript BN library - subset useful for RSA encryption.
|
||||
|
||||
This software is covered under the following copyright:
|
||||
|
||||
Copyright (c) 2003-2005 Tom Wu
|
||||
All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
||||
INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
|
||||
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
|
||||
THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
|
||||
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
In addition, the following condition applies:
|
||||
|
||||
All redistributions must retain an intact copy of this copyright notice
|
||||
and disclaimer.
|
||||
|
||||
Address all questions regarding this license to:
|
||||
Tom Wu
|
||||
tjw@cs.Stanford.EDU
|
||||
*/
|
||||
var dbits,canary=0xdeadbeefcafe,j_lm=15715070==(16777215&canary);j_lm&&"Microsoft Internet Explorer"==navigator.appName?(BigInteger.prototype.am=am2,dbits=30):j_lm&&"Netscape"!=navigator.appName?(BigInteger.prototype.am=am1,dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<<dbits)-1,BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP),BigInteger.prototype.F1=BI_FP-dbits,BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz",BI_RC=new Array,rr,vv;for(rr="0".charCodeAt(0),vv=0;vv<=9;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo,Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo,BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=nMulTo,NullExp.prototype.sqrTo=nSqrTo,Barrett.prototype.convert=barrettConvert,Barrett.prototype.revert=barrettRevert,Barrett.prototype.reduce=barrettReduce,Barrett.prototype.mulTo=barrettMulTo,Barrett.prototype.sqrTo=barrettSqrTo;var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],lplim=(1<<26)/lowprimes[lowprimes.length-1];BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.fromRadix=bnpFromRadix,BigInteger.prototype.fromNumber=bnpFromNumber,BigInteger.prototype.bitwiseTo=bnpBitwiseTo,BigInteger.prototype.changeBit=bnpChangeBit,BigInteger.prototype.addTo=bnpAddTo,BigInteger.prototype.dMultiply=bnpDMultiply,BigInteger.prototype.dAddOffset=bnpDAddOffset,BigInteger.prototype.multiplyLowerTo=bnpMultiplyLowerTo,BigInteger.prototype.multiplyUpperTo=bnpMultiplyUpperTo,BigInteger.prototype.modInt=bnpModInt,BigInteger.prototype.millerRabin=bnpMillerRabin,BigInteger.prototype.clone=bnClone,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.byteValue=bnByteValue,BigInteger.prototype.shortValue=bnShortValue,BigInteger.prototype.signum=bnSigNum,BigInteger.prototype.toByteArray=bnToByteArray,BigInteger.prototype.equals=bnEquals,BigInteger.prototype.min=bnMin,BigInteger.prototype.max=bnMax,BigInteger.prototype.and=bnAnd,BigInteger.prototype.or=bnOr,BigInteger.prototype.xor=bnXor,BigInteger.prototype.andNot=bnAndNot,BigInteger.prototype.not=bnNot,BigInteger.prototype.shiftLeft=bnShiftLeft,BigInteger.prototype.shiftRight=bnShiftRight,BigInteger.prototype.getLowestSetBit=bnGetLowestSetBit,BigInteger.prototype.bitCount=bnBitCount,BigInteger.prototype.testBit=bnTestBit,BigInteger.prototype.setBit=bnSetBit,BigInteger.prototype.clearBit=bnClearBit,BigInteger.prototype.flipBit=bnFlipBit,BigInteger.prototype.add=bnAdd,BigInteger.prototype.subtract=bnSubtract,BigInteger.prototype.multiply=bnMultiply,BigInteger.prototype.divide=bnDivide,BigInteger.prototype.remainder=bnRemainder,BigInteger.prototype.divideAndRemainder=bnDivideAndRemainder,BigInteger.prototype.modPow=bnModPow,BigInteger.prototype.modInverse=bnModInverse,BigInteger.prototype.pow=bnPow,BigInteger.prototype.gcd=bnGCD,BigInteger.prototype.isProbablePrime=bnIsProbablePrime,BigInteger.prototype.square=bnSquare;var b64map="ABCDEFGHIJKLMNOPQRSTUVWLine truncated
|
||||
});return this.hTLV=d.getEncodedHex(),this.isModified=!1,this.hTLV},this._initialize()},YAHOO.lang.extend(KJUR.asn1.x509.TBSCertificate,KJUR.asn1.ASN1Object),KJUR.asn1.x509.Extension=function(a){KJUR.asn1.x509.Extension.superclass.constructor.call(this);this.getEncodedHex=function(){var a=new KJUR.asn1.DERObjectIdentifier({oid:this.oid}),b=new KJUR.asn1.DEROctetString({hex:this.getExtnValueHex()}),c=new Array;c.push(a),this.critical&&c.push(new KJUR.asn1.DERBoolean),c.push(b);var d=new KJUR.asn1.DERSequence({array:c});return d.getEncodedHex()},this.critical=!1,"undefined"!=typeof a&&"undefined"!=typeof a.critical&&(this.critical=a.critical)},YAHOO.lang.extend(KJUR.asn1.x509.Extension,KJUR.asn1.ASN1Object),KJUR.asn1.x509.KeyUsage=function(a){KJUR.asn1.x509.KeyUsage.superclass.constructor.call(this,a),this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.15","undefined"!=typeof a&&"undefined"!=typeof a.bin&&(this.asn1ExtnValue=new KJUR.asn1.DERBitString(a))},YAHOO.lang.extend(KJUR.asn1.x509.KeyUsage,KJUR.asn1.x509.Extension),KJUR.asn1.x509.BasicConstraints=function(a){KJUR.asn1.x509.BasicConstraints.superclass.constructor.call(this,a);this.getExtnValueHex=function(){var a=new Array;this.cA&&a.push(new KJUR.asn1.DERBoolean),this.pathLen>-1&&a.push(new KJUR.asn1.DERInteger({int:this.pathLen}));var b=new KJUR.asn1.DERSequence({array:a});return this.asn1ExtnValue=b,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,"undefined"!=typeof a&&("undefined"!=typeof a.cA&&(this.cA=a.cA),"undefined"!=typeof a.pathLen&&(this.pathLen=a.pathLen))},YAHOO.lang.extend(KJUR.asn1.x509.BasicConstraints,KJUR.asn1.x509.Extension),KJUR.asn1.x509.CRLDistributionPoints=function(a){KJUR.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,a),this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.setByDPArray=function(a){this.asn1ExtnValue=new KJUR.asn1.DERSequence({array:a})},this.setByOneURI=function(a){var b=new KJUR.asn1.x509.GeneralNames([{uri:a}]),c=new KJUR.asn1.x509.DistributionPointName(b),d=new KJUR.asn1.x509.DistributionPoint({dpobj:c});this.setByDPArray([d])},this.oid="2.5.29.31","undefined"!=typeof a&&("undefined"!=typeof a.array?this.setByDPArray(a.array):"undefined"!=typeof a.uri&&this.setByOneURI(a.uri))},YAHOO.lang.extend(KJUR.asn1.x509.CRLDistributionPoints,KJUR.asn1.x509.Extension),KJUR.asn1.x509.ExtKeyUsage=function(a){KJUR.asn1.x509.ExtKeyUsage.superclass.constructor.call(this,a),this.setPurposeArray=function(a){this.asn1ExtnValue=new KJUR.asn1.DERSequence;for(var b=0;b<a.length;b++){var c=new KJUR.asn1.DERObjectIdentifier(a[b]);this.asn1ExtnValue.appendASN1Object(c)}},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.37","undefined"!=typeof a&&"undefined"!=typeof a.array&&this.setPurposeArray(a.array)},YAHOO.lang.extend(KJUR.asn1.x509.ExtKeyUsage,KJUR.asn1.x509.Extension),KJUR.asn1.x509.AuthorityKeyIdentifier=function(a){KJUR.asn1.x509.AuthorityKeyIdentifier.superclass.constructor.call(this,a),this.asn1KID=null,this.asn1CertIssuer=null,this.asn1CertSN=null,this.getExtnValueHex=function(){var a=new Array;this.asn1KID&&a.push(new KJUR.asn1.DERTaggedObject({explicit:!1,tag:"80",obj:this.asn1KID})),this.asn1CertIssuer&&a.push(new KJUR.asn1.DERTaggedObject({explicit:!1,tag:"a1",obj:this.asn1CertIssuer})),this.asn1CertSN&&a.push(new KJUR.asn1.DERTaggedObject({explicit:!1,tag:"82",obj:this.asn1CertSN}));var b=new KJUR.asn1.DERSequence({array:a});return this.asn1ExtnValue=b,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(a){this.asn1KID=new KJUR.asn1.DEROctetString(a)},this.setCertIssuerByParam=function(a){this.asn1CertIssuer=new KJUR.asn1.x509.X500Name(a)},this.setCertSNByParam=function(a){this.asn1CertSN=new KJUR.asn1.DERInteger(a)},this.oid="2.5.29.35","undefined"!=typeof a&&("undefined"!=typeof a.kid&&this.setKIDByParam(a.kid),"undefined"!=typeof a.issuer&&this.setCertIssuerByParam(a.issuer),"undefined"!=typeof a.sn&&this.setCertSNByParam(a.sn))},YAHOO.lang.extend(KJUR.asn1.x509.AuthorityKeyIdentifier,KJUR.asn1.x509.Extension),KJUR.asn1.x509.CRL=function(a){KJUR.asn1.x509.CRL.superclass.constructor.call(this);this.setRsaPrvKeyByPEMandPass=function(a,b){var c=PKCS5PKEY.getDecryptedKeyHex(a,b),d=new RSAKey;d.readPrivateKeyFromASN1HexString(c),this.rsaPrvKey=d},this.sign=function(){this.asn1SignatureAlg=this.asn1TBSCertList.asn1SignatureAlg,sig=new KJUR.crypto.Signature({alg:"SHA1withRSA",prov:"cryptojs/jsrsa"}),sig.initSign(this.rsaPrvKey),sig.updateHex(this.asn1TBSCertList.getEncodedHex()),this.hexSig=sig.sign(),this.asn1Sig=new KJUR.asn1.DERBitString({hex:"00"+this.hexSig});var a=new KJUR.asn1.DERSequence({array:[this.asn1TBSCertList,this.asn1SignatureAlg,this.asn1Sig]});this.hTLV=a.getEncodedHex(),this.isModified=!1},this.getEncodedHex=function(){if(0==this.isModified&&null!=this.hTLV)return this.hTLV;throw"not signed yet"},this.getPEMString=function(){vaLine truncated
|
||||
this.sign()},this.verify=function(a){if(this.sHashHex=this.md.digest(),"undefined"!=typeof this.ecpubhex&&"undefined"!=typeof this.eccurvename){var b=new KJUR.crypto.ECDSA({curve:this.eccurvename});return b.verifyHex(this.sHashHex,a,this.ecpubhex)}if(this.pubKey instanceof RSAKey&&"rsaandmgf1"==this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,a,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof RSAKey&&"rsa"==this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,a);if(this.pubKey instanceof KJUR.crypto.ECDSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,a);if(this.pubKey instanceof KJUR.crypto.DSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,a);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(a,b){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.initVerifyByPublicKey=function(a){throw"initVerifyByPublicKey(rsaPubKeyy) not supported for this alg:prov="+this.algProvName},this.initVerifyByCertificatePEM=function(a){throw"initVerifyByCertificatePEM(certPEM) not supported for this alg:prov="+this.algProvName},this.initSign=function(a){throw"initSign(prvKey) not supported for this alg:prov="+this.algProvName},this.updateString=function(a){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(a){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(a){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(a){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(a){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=a,void 0!==a&&(void 0!==a.alg&&(this.algName=a.alg,void 0===a.prov?this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=a.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==a.psssaltlen&&(this.pssSaltLen=a.psssaltlen),void 0!==a.prvkeypem)){if(void 0!==a.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{var b=new RSAKey;b.readPrivateKeyFromPEMString(a.prvkeypem),this.initSign(b)}catch(a){throw"fatal error to load pem private key: "+a}}},KJUR.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}},"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.crypto&&KJUR.crypto||(KJUR.crypto={}),KJUR.crypto.DSA=function(){function a(a,b,c,e,f,g){var h=KJUR.crypto.Util.hashString(b,a.toLowerCase()),h=h.substr(0,f.bitLength()/4),i=new BigInteger(h,16),j=d(BigInteger.ONE.add(BigInteger.ONE),f.subtract(BigInteger.ONE)),k=c.modPow(j,e).mod(f),l=j.modInverse(f).multiply(i.add(g.multiply(k))).mod(f),m=new Array;return m[0]=k,m[1]=l,m}function b(a){var b=openpgp.config.config.prefer_hash_algorithm;switch(Math.round(a.bitLength()/8)){case 20:return 2!=b&&b>11&&10!=b&&b<8?2:b;case 28:return b>11&&b<8?11:b;case 32:return b>10&&b<8?8:b;default:return util.print_debug("DSA select hash algorithm: returning null for an unknown length of q"),null}}function c(a,b,c,d,e,f,g,h){var i=KJUR.crypto.Util.hashString(d,a.toLowerCase()),i=i.substr(0,f.bitLength()/4),j=new BigInteger(i,16);if(BigInteger.ZERO.compareTo(b)>0||b.compareTo(f)>0||BigInteger.ZERO.compareTo(c)>0||c.compareTo(f)>0)return util.print_error("invalid DSA Signature"),null;var k=c.modInverse(f),l=j.multiply(k).mod(f),m=b.multiply(k).mod(f),n=g.modPow(l,e).multiply(h.modPow(m,e)).mod(e).mod(f);return 0==n.compareTo(b)}function d(a,b){if(!(b.compareTo(a)<=0)){for(var c=b.subtract(a),d=e(c.bitLength());d>c;)d=e(c.bitLength());return a.add(d)}}function e(a){if(a<0)return null;var b=Math.floor((a+7)/8),c=f(b);return a%8>0&&(c=String.fromCharCode(Math.pow(2,a%8)-1&c.charCodeAt(0))+c.substring(1)),new BigInteger(h(c),16)}function f(a){for(var b="",c=0;c<a;c++)b+=String.fromCharCode(g());return b}function g(){var a=new Uint32Array(1);return window.crypto.getRandomValues(a),255&a[0]}function h(a){if(null==a)return"";for(var b,c=[],d=a.length,e=0;e<d;){for(b=a[e++].charCodeAt().toString(16);b.length<2;)b="0"+b;c.push(""+b)}return c.join("")}this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.setPrivate=function(a,b,c,d,e){this.isPrivate=!0,this.p=a,this.q=b,this.g=c,this.y=d,this.x=e},this.setPublic=function(a,b,c,d){this.isPublic=!0,this.p=a,this.q=b,this.g=c,this.y=d,this.x=null},this.signWithMessageHash=function(a){var b=this.p,c=this.q,e=Line truncated
|
||||
var k=KEYUTIL.getHexFromPEM(a,"RSA PRIVATE KEY");return KEYUTIL.getKey(k,null,"pkcs5prv")}if(a.indexOf("-END DSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")==-1){var l=this.getHexFromPEM(a,"DSA PRIVATE KEY"),m=ASN1HEX.getVbyList(l,0,[1],"02"),n=ASN1HEX.getVbyList(l,0,[2],"02"),o=ASN1HEX.getVbyList(l,0,[3],"02"),p=ASN1HEX.getVbyList(l,0,[4],"02"),q=ASN1HEX.getVbyList(l,0,[5],"02"),d=new KJUR.crypto.DSA;return d.setPrivate(new BigInteger(m,16),new BigInteger(n,16),new BigInteger(o,16),new BigInteger(p,16),new BigInteger(q,16)),d}if(a.indexOf("-END PRIVATE KEY-")!=-1)return KEYUTIL.getKeyFromPlainPrivatePKCS8PEM(a);if(a.indexOf("-END RSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")!=-1)return KEYUTIL.getRSAKeyFromEncryptedPKCS5PEM(a,b);if(a.indexOf("-END EC PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")!=-1){var l=KEYUTIL.getDecryptedKeyHex(a,b),d=ASN1HEX.getVbyList(l,0,[1],"04"),r=ASN1HEX.getVbyList(l,0,[2,0],"06"),s=ASN1HEX.getVbyList(l,0,[3,0],"03").substr(2),t="";if(void 0===KJUR.crypto.OID.oidhex2name[r])throw"undefined OID(hex) in KJUR.crypto.OID: "+r;t=KJUR.crypto.OID.oidhex2name[r];var e=new KJUR.crypto.ECDSA({name:t});return e.setPublicKeyHex(s),e.setPrivateKeyHex(d),e.isPublic=!1,e}if(a.indexOf("-END DSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")!=-1){var l=KEYUTIL.getDecryptedKeyHex(a,b),m=ASN1HEX.getVbyList(l,0,[1],"02"),n=ASN1HEX.getVbyList(l,0,[2],"02"),o=ASN1HEX.getVbyList(l,0,[3],"02"),p=ASN1HEX.getVbyList(l,0,[4],"02"),q=ASN1HEX.getVbyList(l,0,[5],"02"),d=new KJUR.crypto.DSA;return d.setPrivate(new BigInteger(m,16),new BigInteger(n,16),new BigInteger(o,16),new BigInteger(p,16),new BigInteger(q,16)),d}if(a.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return KEYUTIL.getKeyFromEncryptedPKCS8PEM(a,b);throw"not supported argument"},KEYUTIL.generateKeypair=function(a,b){if("RSA"==a){var c=b,d=new RSAKey;d.generate(c,"10001"),d.isPrivate=!0,d.isPublic=!0;var e=new RSAKey,f=d.n.toString(16),g=d.e.toString(16);e.setPublic(f,g),e.isPrivate=!1,e.isPublic=!0;var h={};return h.prvKeyObj=d,h.pubKeyObj=e,h}if("EC"==a){var i=b,j=new KJUR.crypto.ECDSA({curve:i}),k=j.generateKeyPairHex(),d=new KJUR.crypto.ECDSA({curve:i});d.setPrivateKeyHex(k.ecprvhex),d.isPrivate=!0,d.isPublic=!1;var e=new KJUR.crypto.ECDSA({curve:i});e.setPublicKeyHex(k.ecpubhex),e.isPrivate=!1,e.isPublic=!0;var h={};return h.prvKeyObj=d,h.pubKeyObj=e,h}throw"unknown algorithm: "+a},KEYUTIL.getPEM=function(a,b,c,d,e){function f(a){var b=KJUR.asn1.ASN1Util.newObject({seq:[{int:0},{int:{bigint:a.n}},{int:a.e},{int:{bigint:a.d}},{int:{bigint:a.p}},{int:{bigint:a.q}},{int:{bigint:a.dmp1}},{int:{bigint:a.dmq1}},{int:{bigint:a.coeff}}]});return b}function g(a){var b=KJUR.asn1.ASN1Util.newObject({seq:[{int:1},{octstr:{hex:a.prvKeyHex}},{tag:["a0",!0,{oid:{name:a.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+a.pubKeyHex}}]}]});return b}function h(a){var b=KJUR.asn1.ASN1Util.newObject({seq:[{int:0},{int:{bigint:a.p}},{int:{bigint:a.q}},{int:{bigint:a.g}},{int:{bigint:a.y}},{int:{bigint:a.x}}]});return b}var i=KJUR.asn1,j=KJUR.crypto;if(("undefined"!=typeof RSAKey&&a instanceof RSAKey||"undefined"!=typeof j.DSA&&a instanceof j.DSA||"undefined"!=typeof j.ECDSA&&a instanceof j.ECDSA)&&1==a.isPublic&&(void 0===b||"PKCS8PUB"==b)){var k=new KJUR.asn1.x509.SubjectPublicKeyInfo(a),l=k.getEncodedHex();return i.ASN1Util.getPEMStringFromHex(l,"PUBLIC KEY")}if("PKCS1PRV"==b&&"undefined"!=typeof RSAKey&&a instanceof RSAKey&&(void 0===c||null==c)&&1==a.isPrivate){var k=f(a),l=k.getEncodedHex();return i.ASN1Util.getPEMStringFromHex(l,"RSA PRIVATE KEY")}if("PKCS1PRV"==b&&"undefined"!=typeof RSAKey&&a instanceof KJUR.crypto.ECDSA&&(void 0===c||null==c)&&1==a.isPrivate){var m=new KJUR.asn1.DERObjectIdentifier({name:a.curveName}),n=m.getEncodedHex(),o=g(a),p=o.getEncodedHex(),q="";return q+=i.ASN1Util.getPEMStringFromHex(n,"EC PARAMETERS"),q+=i.ASN1Util.getPEMStringFromHex(p,"EC PRIVATE KEY")}if("PKCS1PRV"==b&&"undefined"!=typeof KJUR.crypto.DSA&&a instanceof KJUR.crypto.DSA&&(void 0===c||null==c)&&1==a.isPrivate){var k=h(a),l=k.getEncodedHex();return i.ASN1Util.getPEMStringFromHex(l,"DSA PRIVATE KEY")}if("PKCS5PRV"==b&&"undefined"!=typeof RSAKey&&a instanceof RSAKey&&void 0!==c&&null!=c&&1==a.isPrivate){var k=f(a),l=k.getEncodedHex();return void 0===d&&(d="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",l,c,d)}if("PKCS5PRV"==b&&"undefined"!=typeof KJUR.crypto.ECDSA&&a instanceof KJUR.crypto.ECDSA&&void 0!==c&&null!=c&&1==a.isPrivate){var k=g(a),l=k.getEncodedHex();return void 0===d&&(d="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",l,c,d)}if("PKCS5PRV"==b&&"undefined"!=typeof KJUR.crypto.DSA&&a instanceof KJUR.crypto.DSA&&void 0!==c&&null!=c&&1==a.isPrivate){var k=h(a),l=k.getEncodedHex();return void 0===d&&(d="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",l,c,d)}var r=function(a,b){var c=s(a,b),d=new KJUR.asn1.ASN1Util.newObject({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:c.pbkdLine truncated
|
||||
========================================================================
|
||||
Blowfish.js from Dojo Toolkit 1.8.1
|
||||
Cut of by Sladex (xslade@gmail.com)
|
||||
|
||||
Created based on the C# implementation by Marcus Hahn (http://www.hotpixel.net/)
|
||||
Unsigned math based on Paul Johnstone and Peter Wood patches.
|
||||
2005-12-08
|
||||
|
||||
The Dojo Toolkit (including this package) is dual licensed under BSD 3-Clause and AFL.
|
||||
The Dojo Toolkit is Copyright (c) 2005-2016, The Dojo Foundation. All rights reserved.
|
||||
*/
|
||||
function(a){var b={};b.cipherModes={ECB:0,CBC:1,PCBC:2,CFB:3,OFB:4,CTR:5},b.outputTypes={Base64:0,Hex:1,String:2,Raw:3};var c={},d="=",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";c.encode=function(a){for(var b=[],c=a.length,f=c%3,g=c-f,h=0;h<g;){var i=a[h++]<<16|a[h++]<<8|a[h++];b.push(e.charAt(i>>>18&63)),b.push(e.charAt(i>>>12&63)),b.push(e.charAt(i>>>6&63)),b.push(e.charAt(63&i))}switch(f){case 2:var i=a[h++]<<16|a[h++]<<8;b.push(e.charAt(i>>>18&63)),b.push(e.charAt(i>>>12&63)),b.push(e.charAt(i>>>6&63)),b.push(d);break;case 1:var i=a[h++]<<16;b.push(e.charAt(i>>>18&63)),b.push(e.charAt(i>>>12&63)),b.push(d),b.push(d)}return b.join("")},c.decode=function(a){for(var b=a.split(""),c=[],f=b.length;b[--f]==d;);for(var g=0;g<f;){var h=e.indexOf(b[g++])<<18;g<=f&&(h|=e.indexOf(b[g++])<<12),g<=f&&(h|=e.indexOf(b[g++])<<6),g<=f&&(h|=e.indexOf(b[g++])),c.push(h>>>16&255),c.push(h>>>8&255),c.push(255&h)}for(;0==c[c.length-1];)c.pop();return c};var f={};f.isString=function(a){return"string"==typeof a||a instanceof String};var g={};g.map=function(a,b,c,d){var e=0,f=a&&a.length||0,g=new(d||Array)(f);if(f&&"string"==typeof a&&(a=a.split("")),"string"==typeof b&&(b=cache[b]||buildFn(b)),c)for(;e<f;++e)g[e]=b.call(c,a[e],e,a);else for(;e<f;++e)g[e]=b(a[e],e,a);return g},b.Blowfish=new function(){function a(a,b){return(a>>16^b>>16)<<16|65535&(65535&a^65535&b)}function d(a,b){var c=b.s3[255&a];a>>=8;var d=b.s2[255&a];a>>=8;var e=b.s1[255&a];a>>=8;var f=b.s0[255&a],g=(f>>16)+(e>>16)+((65535&f)+(65535&e)>>16)<<16|(65535&f)+(65535&e)&65535;return g=(g>>16^d>>16)<<16|65535&(65535&g^65535&d),(g>>16)+(c>>16)+((65535&g)+(65535&c)>>16)<<16|(65535&g)+(65535&c)&65535}function e(b,c){var e=b.left,f=b.right;e=a(e,c.p[0]),f=a(f,a(d(e,c),c.p[1])),e=a(e,a(d(f,c),c.p[2])),f=a(f,a(d(e,c),c.p[3])),e=a(e,a(d(f,c),c.p[4])),f=a(f,a(d(e,c),c.p[5])),e=a(e,a(d(f,c),c.p[6])),f=a(f,a(d(e,c),c.p[7])),e=a(e,a(d(f,c),c.p[8])),f=a(f,a(d(e,c),c.p[9])),e=a(e,a(d(f,c),c.p[10])),f=a(f,a(d(e,c),c.p[11])),e=a(e,a(d(f,c),c.p[12])),f=a(f,a(d(e,c),c.p[13])),e=a(e,a(d(f,c),c.p[14])),f=a(f,a(d(e,c),c.p[15])),e=a(e,a(d(f,c),c.p[16])),b.right=e,b.left=a(f,c.p[17])}function h(b,c){var e=b.left,f=b.right;e=a(e,c.p[17]),f=a(f,a(d(e,c),c.p[16])),e=a(e,a(d(f,c),c.p[15])),f=a(f,a(d(e,c),c.p[14])),e=a(e,a(d(f,c),c.p[13])),f=a(f,a(d(e,c),c.p[12])),e=a(e,a(d(f,c),c.p[11])),f=a(f,a(d(e,c),c.p[10])),e=a(e,a(d(f,c),c.p[9])),f=a(f,a(d(e,c),c.p[8])),e=a(e,a(d(f,c),c.p[7])),f=a(f,a(d(e,c),c.p[6])),e=a(e,a(d(f,c),c.p[5])),f=a(f,a(d(e,c),c.p[4])),e=a(e,a(d(f,c),c.p[3])),f=a(f,a(d(e,c),c.p[2])),e=a(e,a(d(f,c),c.p[1])),b.right=e,b.left=a(f,c.p[0])}function i(a){var b=a;f.isString(b)&&(b=g.map(b.split(""),function(a){return 255&a.charCodeAt(0)}));var c,d,h,i=0,k=0,l={left:0,right:0},m={p:g.map(n.p.slice(0),function(a){var c,d=b.length;for(c=0;c<4;c++)k=k*j|b[i++%d];return(a>>16^k>>16)<<16|65535&(65535&a^65535&k)}),s0:n.s0.slice(0),s1:n.s1.slice(0),s2:n.s2.slice(0),s3:n.s3.slice(0)};for(c=0,h=m.p.length;c<h;)e(l,m),m.p[c++]=l.left,m.p[c++]=l.right;for(c=0;c<4;c++)for(d=0,h=m["s"+c].length;d<h;)e(l,m),m["s"+c][d++]=l.left,m["s"+c][d++]=l.right;return m}var j=(Math.pow(2,2),Math.pow(2,3),Math.pow(2,4),Math.pow(2,8)),k=Math.pow(2,16),l=Math.pow(2,24),m=null,n={p:[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],s0:[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,23932Line truncated
|
||||
k=c.length);j--;)c[f]=c[f++-i];for(;8<=this.c;)this.c-=8,this.d--;this.a=f},c.prototype.e=function(){var a,b,c=new(h?Uint8Array:Array)(this.a-32768),d=this.a-32768,e=this.b;if(h)c.set(e.subarray(32768,c.length));else for(a=0,b=c.length;a<b;++a)c[a]=e[a+32768];if(this.g.push(c),this.k+=c.length,h)e.set(e.subarray(d,d+32768));else for(a=0;32768>a;++a)e[a]=e[d+a];return this.a=32768,e},c.prototype.v=function(a){var b,c,d,e,f=this.input.length/this.d+1|0,g=this.input,i=this.b;return a&&("number"==typeof a.o&&(f=a.o),"number"==typeof a.r&&(f+=a.r)),2>f?(c=(g.length-this.d)/this.n[2],e=258*(c/2)|0,d=e<i.length?i.length+e:i.length<<1):d=i.length*f,h?(b=new Uint8Array(d),b.set(i)):b=i,this.b=b},c.prototype.m=function(){var a,b,c,d,e,f=0,g=this.b,i=this.g,j=new(h?Uint8Array:Array)(this.k+(this.a-32768));if(0===i.length)return h?this.b.subarray(32768,this.a):this.b.slice(32768,this.a);for(b=0,c=i.length;b<c;++b)for(a=i[b],d=0,e=a.length;d<e;++d)j[f++]=a[d];for(b=32768,c=this.a;b<c;++b)j[f++]=g[b];return this.g=[],this.buffer=j},c.prototype.s=function(){var a,b=this.a;return h?this.q?(a=new Uint8Array(b),a.set(this.b.subarray(0,b))):a=this.b.subarray(0,b):(this.b.length>b&&(this.b.length=b),a=this.b),this.buffer=a},a("Zlib.RawInflate",c),a("Zlib.RawInflate.prototype.decompress",c.prototype.u);var C,D,E,F,G={ADAPTIVE:j,BLOCK:i};if(Object.keys)C=Object.keys(G);else for(D in C=[],E=0,G)C[E++]=D;for(E=0,F=C.length;E<F;++E)D=C[E],a("Zlib.RawInflate.BufferType."+D,G[D])}.call(this),function(){function a(a,b){var c=a.split("."),d=s;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||b===q?d=d[e]?d[e]:d[e]={}:d[e]=b}function b(a,b){if(this.index="number"==typeof b?b:0,this.f=0,this.buffer=a instanceof(t?Uint8Array:Array)?a:new(t?Uint8Array:Array)(32768),2*this.buffer.length<=this.index)throw Error("invalid index");this.buffer.length<=this.index&&c(this)}function c(a){var b,c=a.buffer,d=c.length,e=new(t?Uint8Array:Array)(d<<1);if(t)e.set(c);else for(b=0;b<d;++b)e[b]=c[b];return a.buffer=e}function d(a){var b,c=q,d="number"==typeof c?c:c=0,e=a.length;for(b=-1,d=7&e;d--;++c)b=b>>>8^B[255&(b^a[c])];for(d=e>>3;d--;c+=8)b=b>>>8^B[255&(b^a[c])],b=b>>>8^B[255&(b^a[c+1])],b=b>>>8^B[255&(b^a[c+2])],b=b>>>8^B[255&(b^a[c+3])],b=b>>>8^B[255&(b^a[c+4])],b=b>>>8^B[255&(b^a[c+5])],b=b>>>8^B[255&(b^a[c+6])],b=b>>>8^B[255&(b^a[c+7])];return(4294967295^b)>>>0}function e(a){this.buffer=new(t?Uint16Array:Array)(2*a),this.length=0}function f(a,b){this.k=D,this.l=0,this.input=t&&a instanceof Array?new Uint8Array(a):a,this.e=0,b&&(b.lazy&&(this.l=b.lazy),"number"==typeof b.compressionType&&(this.k=b.compressionType),b.outputBuffer&&(this.c=t&&b.outputBuffer instanceof Array?new Uint8Array(b.outputBuffer):b.outputBuffer),"number"==typeof b.outputIndex&&(this.e=b.outputIndex)),this.c||(this.c=new(t?Uint8Array:Array)(32768))}function g(a,b){this.length=a,this.n=b}function h(a,b){function c(a,b){var c,d=a.n,e=[],f=0;c=G[a.length],e[f++]=65535&c,e[f++]=c>>16&255,e[f++]=c>>24;var g;switch(r){case 1===d:g=[0,d-1,0];break;case 2===d:g=[1,d-2,0];break;case 3===d:g=[2,d-3,0];break;case 4===d:g=[3,d-4,0];break;case 6>=d:g=[4,d-5,1];break;case 8>=d:g=[5,d-7,1];break;case 12>=d:g=[6,d-9,2];break;case 16>=d:g=[7,d-13,2];break;case 24>=d:g=[8,d-17,3];break;case 32>=d:g=[9,d-25,3];break;case 48>=d:g=[10,d-33,4];break;case 64>=d:g=[11,d-49,4];break;case 96>=d:g=[12,d-65,5];break;case 128>=d:g=[13,d-97,5];break;case 192>=d:g=[14,d-129,6];break;case 256>=d:g=[15,d-193,6];break;case 384>=d:g=[16,d-257,7];break;case 512>=d:g=[17,d-385,7];break;case 768>=d:g=[18,d-513,8];break;case 1024>=d:g=[19,d-769,8];break;case 1536>=d:g=[20,d-1025,9];break;case 2048>=d:g=[21,d-1537,9];break;case 3072>=d:g=[22,d-2049,10];break;case 4096>=d:g=[23,d-3073,10];break;case 6144>=d:g=[24,d-4097,11];break;case 8192>=d:g=[25,d-6145,11];break;case 12288>=d:g=[26,d-8193,12];break;case 16384>=d:g=[27,d-12289,12];break;case 24576>=d:g=[28,d-16385,13];break;case 32768>=d:g=[29,d-24577,13];break;default:throw"invalid distance"}c=g,e[f++]=c[0],e[f++]=c[1],e[f++]=c[2];var h,i;for(h=0,i=e.length;h<i;++h)o[p++]=e[h];u[e[0]]++,v[e[3]]++,s=a.length+b-1,l=null}var d,e,f,g,h,j,k,l,m,n={},o=t?new Uint16Array(2*b.length):[],p=0,s=0,u=new(t?Uint32Array:Array)(286),v=new(t?Uint32Array:Array)(30),w=a.l;if(!t){for(f=0;285>=f;)u[f++]=0;for(f=0;29>=f;)v[f++]=0}for(u[256]=1,d=0,e=b.length;d<e;++d){for(f=h=0,g=3;f<g&&d+f!==e;++f)h=h<<8|b[d+f];if(n[h]===q&&(n[h]=[]),j=n[h],!(0<s--)){for(;0<j.length&&32768<d-j[0];)j.shift();if(d+3>=e){for(l&&c(l,-1),f=0,g=e-d;f<g;++f)m=b[d+f],o[p++]=m,++u[m];break}0<j.length?(k=i(b,d,j),l?l.length<k.length?(m=b[d-1],o[p++]=m,++u[m],c(k,0)):c(l,-1):k.length<w?l=k:c(k,0)):l?c(l,-1):(m=b[d],o[p++]=m,++u[m])}j.push(d)}return o[p++]=256,u[256]++,a.p=u,a.o=v,t?o.subarray(0,p):o}function i(a,b,c){var d,e,f,h,i,j,k=0,l=a.length;h=0,j=c.length;a:for(;h<j;h++){if(d=c[j-h-1],f=3,3<k){for(i=k;3<i;i--)if(a[d+i-1]!==a[b+i-1])continue a;f=k}for(;258>f&&Line truncated
|
||||
}).r();break;default:a(Error("unknown compression type"))}if(this.ca){var v,x=o,y="number"==typeof x?x:x=0,z=j.length;for(v=-1,y=7&z;y--;++x)v=v>>>8^w[255&(v^j[x])];for(y=z>>3;y--;x+=8)v=v>>>8^w[255&(v^j[x])],v=v>>>8^w[255&(v^j[x+1])],v=v>>>8^w[255&(v^j[x+2])],v=v>>>8^w[255&(v^j[x+3])],v=v>>>8^w[255&(v^j[x+4])],v=v>>>8^w[255&(v^j[x+5])],v=v>>>8^w[255&(v^j[x+6])],v=v>>>8^w[255&(v^j[x+7])];n=(4294967295^v)>>>0,g.p!==n&&a(Error("wrong crc: file=0x"+g.p.toString(16)+", data=0x"+n.toString(16)))}return j},n.M=function(a){this.j=a},n.k=h.prototype.k,n.T=h.prototype.U,n.s=h.prototype.s,b("Zlib.Unzip",i),b("Zlib.Unzip.prototype.decompress",i.prototype.r),b("Zlib.Unzip.prototype.getFilenames",i.prototype.Z),b("Zlib.Unzip.prototype.setPassword",i.prototype.M)}.call(this),/** @license
|
||||
========================================================================
|
||||
zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License
|
||||
*/
|
||||
function(){function a(a){throw a}function b(a,b){var c=a.split("."),d=A;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||b===y?d=d[e]?d[e]:d[e]={}:d[e]=b}function c(b,c){this.index="number"==typeof c?c:0,this.m=0,this.buffer=b instanceof(B?Uint8Array:Array)?b:new(B?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&a(Error("invalid index")),this.buffer.length<=this.index&&this.f()}function d(a,b,c){var d,e="number"==typeof b?b:b=0,f="number"==typeof c?c:a.length;for(d=-1,e=7&f;e--;++b)d=d>>>8^J[255&(d^a[b])];for(e=f>>3;e--;b+=8)d=d>>>8^J[255&(d^a[b])],d=d>>>8^J[255&(d^a[b+1])],d=d>>>8^J[255&(d^a[b+2])],d=d>>>8^J[255&(d^a[b+3])],d=d>>>8^J[255&(d^a[b+4])],d=d>>>8^J[255&(d^a[b+5])],d=d>>>8^J[255&(d^a[b+6])],d=d>>>8^J[255&(d^a[b+7])];return(4294967295^d)>>>0}function e(){}function f(a){this.buffer=new(B?Uint16Array:Array)(2*a),this.length=0}function g(a){var b,c,d,e,f,g,h,i,j,k,l=a.length,m=0,n=Number.POSITIVE_INFINITY;for(i=0;i<l;++i)a[i]>m&&(m=a[i]),a[i]<n&&(n=a[i]);for(b=1<<m,c=new(B?Uint32Array:Array)(b),d=1,e=0,f=2;d<=m;){for(i=0;i<l;++i)if(a[i]===d){for(g=0,h=e,j=0;j<d;++j)g=g<<1|1&h,h>>=1;for(k=d<<16|i,j=g;j<b;j+=f)c[j]=k;++e}++d,e<<=1,f<<=1}return[c,m,n]}function h(a,b){this.k=L,this.I=0,this.input=B&&a instanceof Array?new Uint8Array(a):a,this.b=0,b&&(b.lazy&&(this.I=b.lazy),"number"==typeof b.compressionType&&(this.k=b.compressionType),b.outputBuffer&&(this.a=B&&b.outputBuffer instanceof Array?new Uint8Array(b.outputBuffer):b.outputBuffer),"number"==typeof b.outputIndex&&(this.b=b.outputIndex)),this.a||(this.a=new(B?Uint8Array:Array)(32768))}function i(a,b){this.length=a,this.Q=b}function j(b,c){function d(b,c){var d,e=b.Q,f=[],g=0;d=P[b.length],f[g++]=65535&d,f[g++]=d>>16&255,f[g++]=d>>24;var h;switch(z){case 1===e:h=[0,e-1,0];break;case 2===e:h=[1,e-2,0];break;case 3===e:h=[2,e-3,0];break;case 4===e:h=[3,e-4,0];break;case 6>=e:h=[4,e-5,1];break;case 8>=e:h=[5,e-7,1];break;case 12>=e:h=[6,e-9,2];break;case 16>=e:h=[7,e-13,2];break;case 24>=e:h=[8,e-17,3];break;case 32>=e:h=[9,e-25,3];break;case 48>=e:h=[10,e-33,4];break;case 64>=e:h=[11,e-49,4];break;case 96>=e:h=[12,e-65,5];break;case 128>=e:h=[13,e-97,5];break;case 192>=e:h=[14,e-129,6];break;case 256>=e:h=[15,e-193,6];break;case 384>=e:h=[16,e-257,7];break;case 512>=e:h=[17,e-385,7];break;case 768>=e:h=[18,e-513,8];break;case 1024>=e:h=[19,e-769,8];break;case 1536>=e:h=[20,e-1025,9];break;case 2048>=e:h=[21,e-1537,9];break;case 3072>=e:h=[22,e-2049,10];break;case 4096>=e:h=[23,e-3073,10];break;case 6144>=e:h=[24,e-4097,11];break;case 8192>=e:h=[25,e-6145,11];break;case 12288>=e:h=[26,e-8193,12];break;case 16384>=e:h=[27,e-12289,12];break;case 24576>=e:h=[28,e-16385,13];break;case 32768>=e:h=[29,e-24577,13];break;default:a("invalid distance")}d=h,f[g++]=d[0],f[g++]=d[1],f[g++]=d[2];var i,j;for(i=0,j=f.length;i<j;++i)p[q++]=f[i];s[f[0]]++,t[f[3]]++,r=b.length+c-1,m=null}var e,f,g,h,i,j,l,m,n,o={},p=B?new Uint16Array(2*c.length):[],q=0,r=0,s=new(B?Uint32Array:Array)(286),t=new(B?Uint32Array:Array)(30),u=b.I;if(!B){for(g=0;285>=g;)s[g++]=0;for(g=0;29>=g;)t[g++]=0}for(s[256]=1,e=0,f=c.length;e<f;++e){for(g=i=0,h=3;g<h&&e+g!==f;++g)i=i<<8|c[e+g];if(o[i]===y&&(o[i]=[]),j=o[i],!(0<r--)){for(;0<j.length&&32768<e-j[0];)j.shift();if(e+3>=f){for(m&&d(m,-1),g=0,h=f-e;g<h;++g)n=c[e+g],p[q++]=n,++s[n];break}0<j.length?(l=k(c,e,j),m?m.length<l.length?(n=c[e-1],p[q++]=n,++s[n],d(l,0)):d(m,-1):l.length<u?m=l:d(l,0)):m?d(m,-1):(n=c[e],p[q++]=n,++s[n])}j.push(e)}return p[q++]=256,s[256]++,b.W=s,b.V=t,B?p.subarray(0,q):p}function k(a,b,c){var d,e,f,g,h,j,k=0,l=a.length;g=0,j=c.length;a:for(;g<j;g++){if(d=c[j-g-1],f=3,3<k){for(h=k;3<h;h--)if(a[d+h-1]!==a[b+h-1])continue a;f=k}for(;258>f&&b+f<l&&a[d+f]===a[b+f];)++f;if(f>k&&(e=d,k=f),258===f)break}return new i(k,b-e)}function l(a,b){var c,d,e,g,h,i=a.length,j=new f(572),k=new(B?Uint8Array:Array)(i);if(!B)for(g=0;g<i;g++)k[g]=0;for(g=0;g<i;++g)0<a[g]&&j.push(g,a[g]);if(c=Array(j.length/2),d=new(B?Uint32Array:Array)(j.length/2),1===c.length)return k[j.pop().index]=1,k;for(g=0,h=j.length/2;g<h;++g)c[g]=j.pop(),d[g]=c[g].value;for(e=m(d,d.length,b),g=0,h=c.length;g<h;++g)k[c[g].index]=e[g];return k}function m(a,b,c){function d(a){var c=n[a][o[a]];c===b?(d(a+1),d(a+1)):--l[c],++o[a]}var e,f,g,h,i,j=new(B?Uint16Array:Array)(c),k=new(B?Uint8Array:Array)(c),l=new(B?Uint8Array:Array)(b),m=Array(c),n=Array(c),o=Array(c),p=(1<<c)-b,q=1<<c-1;for(j[c-1]=b,f=0;f<c;++f)p<q?k[f]=0:(k[f]=1,p-=q),p<<=1,j[c-2-f]=(j[c-1-f]/2|0)+b;for(j[0]=k[0],m[0]=Array(j[0]),n[0]=Array(j[0]),f=1;f<c;++f)j[f]>2*j[f-1]+k[f]&&(j[f]=2*j[f-1]+k[f]),m[f]=Array(j[f]),n[f]=Array(j[f]);for(e=0;e<b;++e)l[e]=c;for(g=0;g<j[c-1];++g)m[c-1][g]=a[g],n[c-1][g]=g;for(e=0;e<c;++e)o[e]=0;for(1===k[c-1]&&(--l[0],++o[c-1]),f=c-2;0<=f;--f){for(h=e=0,i=o[f+1],g=0;g<j[f];g++)h=m[f+1][i]+m[f+1][i+1],h>a[e]?(m[f][g]=h,n[f][g]=b,i+=2):(m[f][g]=a[e],n[f][g]=e,++e);o[f]=0,1===k[f]&&d(f)}return l}function n(a){var b,c,d,e,f=neLine truncated
|
||||
metadata:{uaFamily:"Jyxobot",uaName:"Jyxobot",uaUrl:"",uaCompany:"Jyxo s.r.o.",uaCompanyUrl:"http://jyxo.cz/",uaIcon:"bot_Jyxobot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Jyxobot"}},9:{userAgent:"Scooter/3.3",metadata:{uaFamily:"Scooter",uaName:"Scooter/3.3",uaUrl:"",uaCompany:"AltaVista",uaCompanyUrl:"http://www.altavista.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Scooter"}},14:{userAgent:"Baiduspider+(+http://www.baidu.com/search/spider.htm)",metadata:{uaFamily:"Baiduspider",uaName:"Baiduspider",uaUrl:"http://www.baidu.com/search/spider.htm",uaCompany:"Baidu",uaCompanyUrl:"http://www.baidu.com/",uaIcon:"bot_baiduspider.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Baiduspider"}},20:{userAgent:"lmspider (lmspider@scansoft.com)",metadata:{uaFamily:"lmspider",uaName:"lmspider",uaUrl:"http://www.nuance.com/",uaCompany:"Nuance Communications, Inc.",uaCompanyUrl:"http://www.nuance.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=lmspider"}},25:{userAgent:"Googlebot-Image/1.0",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Image/1.0",uaUrl:"http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1061943",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},31:{userAgent:"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot/2.1",uaUrl:"http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1061943",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},32:{userAgent:"ConveraMultiMediaCrawler/0.1 (+http://www.authoritativeweb.com/crawl)",metadata:{uaFamily:"ConveraCrawler",uaName:"ConveraMultiMediaCrawler/0.1",uaUrl:"http://www.authoritativeweb.com/crawl",uaCompany:"Convera Corporation",uaCompanyUrl:"http://www.authoritativeweb.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ConveraCrawler"}},37:{userAgent:"Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)",metadata:{uaFamily:"Ask Jeeves/Teoma",uaName:"Ask Jeeves/Teoma - b",uaUrl:"http://about.ask.com/en/docs/about/webmasters.shtml",uaCompany:"Ask Jeeves Inc.",uaCompanyUrl:"http://about.ask.com/en/docs/about/index.shtml",uaIcon:"bot_AskJeeves.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Ask Jeeves/Teoma"}},38:{userAgent:"NG/2.0",metadata:{uaFamily:"NG",uaName:"NG/2.0",uaUrl:"",uaCompany:"Exalead",uaCompanyUrl:"http://exalead.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=NG"}},40:{userAgent:"TutorGigBot/1.5 ( +http://www.tutorgig.info )",metadata:{uaFamily:"TutorGigBot",uaName:"TutorGigBot",uaUrl:"http://www.tutorgig.com/help.html",uaCompany:"TutorGig",uaCompanyUrl:"http://www.tutorgig.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=TutorGigBot"}},43:{userAgent:"ZACATEK_CZ_BOT (www.zacatek.cz)",metadata:{uaFamily:"ZACATEK_CZ",uaName:"ZACATEK_CZ_BOT",uaUrl:"http://www.zacatek.cz/",uaCompany:"webprovider - Adam Haken",uaCompanyUrl:"http://www.webprovider.cz/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ZACATEK_CZ"}},45:{userAgent:"Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)",metadata:{uaFamily:"Girafabot",uaName:"Girafabot",uaUrl:"",uaCompany:"Girafa Inc.",uaCompanyUrl:"http://www.girafa.com/",uaIcon:"bot_girafabot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Girafabot"}},47:{userAgent:"FAST MetaWeb Crawler (helpdesk at fastsearch dot com)",metadata:{uaFamily:"FAST MetaWeb Crawler",uaName:"FAST MetaWeb Crawler",uaUrl:"http://www.fast.no/glossary.aspx?m=48&amid=415",uaCompany:"Fast Search & Transfer",uaCompanyUrl:"http://www.fastsearch.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FAST MetaWeb Crawler"}},56:{userAgent:"psbot/0.1 (+http://www.picsearch.com/bot.html)",metadata:{uaFamily:"psbot",uaName:"psbot/0.1",uaUrl:"http://www.picsearch.com/bot.html",uaCompany:"picsearch.com",uaCompanyUrl:"http://www.picsearch.com/",uaIcon:"bot_psbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=psbot"}},76:{userAgent:"City4you/1.3 Cesky (+http://www.city4you.pl)",metadata:{uaFamily:"City4you",uaName:"City4you/1.3 Cesky",uaUrl:"",uaCompany:"city4you",uaCompanyUrl:"http://www.city4you.pl/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=City4you"}},80:{userAgent:"ConveraCrawler/0.9d (+http://www.authoritativeweb.com/crawl)",metadata:{uaFamily:"ConveraCrawler",uaName:"ConveraCrawler 0.9d",uaUrl:"http://www.authoritativeweb.com/crawl",uaCompany:"Convera Corporation",uaCompanyUrl:"http://www.authoritativeweb.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ConveraCrawler"}},81:{userAgent:"IlTrovatore-Setaccio/1.2 (It search engine; http://www.iltrovatore.it/bot.html; bot@iltrovatore.it)",metadata:{uaFamily:"IlTrovatore-Setaccio",uaName:"IlTrovatore-Setaccio/1.2",uaUrl:"http://www.iltrovatore.it/bot.html",uaCompany:"ILine truncated
|
||||
uaFamily:"NimbleCrawler",uaName:"NimbleCrawler/1.15",uaUrl:"",uaCompany:"Healthline Networks, Inc.",uaCompanyUrl:"http://www.healthline.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=NimbleCrawler"}},295:{userAgent:"MetaTagRobot/1.6 (http://www.widexl.com/remote/search-engines/metatag-analyzer.html)",metadata:{uaFamily:"MetaTagRobot",uaName:"MetaTagRobot/1.6",uaUrl:"http://www.widexl.com/remote/search-engines/metatag-analyzer.html",uaCompany:"widexl.com",uaCompanyUrl:"http://www.widexl.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MetaTagRobot"}},296:{userAgent:"sproose/0.1-alpha (sproose crawler; http://www.sproose.com/bot.html; crawler@sproose.com)",metadata:{uaFamily:"sproose",uaName:"sproose/0.1-alpha",uaUrl:"http://www.sproose.com/bot.html",uaCompany:"Sproose, Inc.",uaCompanyUrl:"http://www.sproose.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sproose"}},301:{userAgent:"Search Engine World Robots.txt Validator at http://www.searchengineworld.com/cgi-bin/robotcheck.cgi",metadata:{uaFamily:"Search Engine World Robots.txt Validator",uaName:"Search Engine World Robots.txt Validator",uaUrl:"http://www.searchengineworld.com/cgi-bin/robotcheck.cgi",uaCompany:"searchengineworld",uaCompanyUrl:"http://www.searchengineworld.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Search Engine World Robots.txt Validator"}},303:{userAgent:"Gaisbot/3.0+(robot06@gais.cs.ccu.edu.tw;+http://gais.cs.ccu.edu.tw/robot.php)",metadata:{uaFamily:"Gaisbot",uaName:"Gaisbot/3.0 - 06",uaUrl:"http://gais.cs.ccu.edu.tw/robot.php",uaCompany:"National Chung Cheng University",uaCompanyUrl:"http://www.ccu.edu.tw/",uaIcon:"bot_gaisbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Gaisbot"}},306:{userAgent:"Forschungsportal/0.8-dev (Testinstallation; http://www.forschungsportal.net/; fpcrawler@rrzn.uni-hannover.de)",metadata:{uaFamily:"Forschungsportal",uaName:"Forschungsportal/0.8-dev",uaUrl:"http://www.forschungsportal.net/",uaCompany:"Bundesministerium f\xfcr Bildung und Forschung",uaCompanyUrl:"http://www.bmbf.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Forschungsportal"}},307:{userAgent:"HooWWWer/2.2.0 (debugging run) (+http://cosco.hiit.fi/search/hoowwwer/ | mailto:crawler-info<at>hiit.fi)",metadata:{uaFamily:"HooWWWer",uaName:"HooWWWer/2.2.0",uaUrl:"http://cosco.hiit.fi/search/hoowwwer/",uaCompany:"CoSCo",uaCompanyUrl:"http://cosco.hiit.fi/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HooWWWer"}},308:{userAgent:"OmniExplorer_Bot/6.47 (+http://www.omni-explorer.com) WorldIndexer",metadata:{uaFamily:"OmniExplorer_Bot",uaName:"OmniExplorer_Bot/6.47",uaUrl:"http://www.omni-explorer.com/",uaCompany:"",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=OmniExplorer_Bot"}},310:{userAgent:"Orbiter (+http://www.dailyorbit.com/bot.htm)",metadata:{uaFamily:"Orbiter",uaName:"Orbiter",uaUrl:"http://www.dailyorbit.com/bot.htm",uaCompany:"DailyOrbit.com",uaCompanyUrl:"http://www.dailyorbit.com/",uaIcon:"bot_orbiter.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Orbiter"}},312:{userAgent:"FAST Enterprise Crawler/6.4 (crawler@fast.no)",metadata:{uaFamily:"FAST Enterprise Crawler",uaName:"FAST Enterprise Crawler/6.4",uaUrl:"http://www.fast.no/glossary.aspx?m=48&amid=415",uaCompany:"Fast Search & Transfer",uaCompanyUrl:"http://www.fastsearch.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FAST Enterprise Crawler"}},317:{userAgent:"csci_b659/0.13",metadata:{uaFamily:"csci_b659",uaName:"csci_b659/0.13",uaUrl:"http://informatics.indiana.edu/fil/Class/b659/",uaCompany:"Indiana University",uaCompanyUrl:"http://www.indiana.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=csci_b659"}},321:{userAgent:"NutchCVS/0.06-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)",metadata:{uaFamily:"Nutch",uaName:"NutchCVS/0.06-dev",uaUrl:"http://www.nutch.org/docs/en/bot.html",uaCompany:"lucene",uaCompanyUrl:"http://lucene.apache.org/",uaIcon:"bot_Nutch.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Nutch"}},323:{userAgent:"NutchCVS/0.7.1 (Nutch running at UW; http://www.nutch.org/docs/en/bot.html; sycrawl@cs.washington.edu)",metadata:{uaFamily:"Nutch",uaName:"NutchCVS/0.7.1 at washihinton.edu",uaUrl:"http://www.nutch.org/docs/en/bot.html",uaCompany:"lucene",uaCompanyUrl:"http://lucene.apache.org/",uaIcon:"bot_Nutch.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Nutch"}},326:{userAgent:"miniRank/1.6 (Website ranking; www.minirank.com; robot)",metadata:{uaFamily:"miniRank",uaName:"miniRank/1.6",uaUrl:"http://www.minirank.com/",uaCompany:"TitaniumLine.com",uaCompanyUrl:"http://titaniumline.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=miniRank"}},327:{userAgent:"ccubee/3.5",metadata:{uaFamily:"ccubee",uaName:"ccubee/3.5",uaUrl:"http://empyreum.com/technologies/platforms/ccubee/",uaCompany:"EMPYREUM k. s.",uaCompanyUrl:"http://empyreum.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ccubee"}},328:{userAgeLine truncated
|
||||
metadata:{uaFamily:"EDI",uaName:"EDI/1.6.5",uaUrl:"",uaCompany:"Daum Communications Corp.",uaCompanyUrl:"http://info.daum.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=EDI"}},560:{userAgent:"ccubee/9.0",metadata:{uaFamily:"ccubee",uaName:"ccubee/9.0",uaUrl:"http://empyreum.com/technologies/platforms/ccubee/",uaCompany:"EMPYREUM k. s.",uaCompanyUrl:"http://empyreum.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ccubee"}},562:{userAgent:"MQBOT/Nutch-0.9-dev (MQBOT Nutch Crawler; http://falcon.cs.uiuc.edu; mqbot@cs.uiuc.edu)",metadata:{uaFamily:"MQbot",uaName:"MQBOT/Nutch-0.9-dev",uaUrl:"http://metaquerier.cs.uiuc.edu/crawler/",uaCompany:"University of Illinois at Urbana-Champaign",uaCompanyUrl:"http://www.uiuc.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MQbot"}},563:{userAgent:"Mozilla/5.0 (compatible; nextthing.org/1.0; +http://www.nextthing.org/bot)",metadata:{uaFamily:"nextthing.org",uaName:"nextthing.org/1.0",uaUrl:"http://www.nextthing.org/bot/",uaCompany:"Andrew Wooster",uaCompanyUrl:"http://www.cs.hmc.edu/~awooster/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=nextthing.org"}},564:{userAgent:"crawler43.ejupiter.com",metadata:{uaFamily:"ejupiter.com",uaName:"ejupiter.com 43",uaUrl:"http://robot.ejupiter.com/16/robot_privacy.html",uaCompany:"eJupiter Inc",uaCompanyUrl:"http://www.ejupiter.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ejupiter.com"}},565:{userAgent:"Szukacz/1.5 (robot; www.szukacz.pl/jakdzialarobot.html; info@szukacz.pl)",metadata:{uaFamily:"Szukacz",uaName:"Szukacz/1.5 b",uaUrl:"http://www.szukacz.pl/jakdzialarobot.html",uaCompany:"24 Godziny Sp. z o.o.",uaCompanyUrl:"http://www.szukacz.pl/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Szukacz"}},566:{userAgent:"Mozilla/5.0 (compatible; BecomeBot/3.0; +http://www.become.com/site_owners.html)",metadata:{uaFamily:"BecomeBot",uaName:"BecomeBot/3.0 b",uaUrl:"http://www.become.com/site_owners.html",uaCompany:"Become, Inc.",uaCompanyUrl:"http://www.become.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=BecomeBot"}},567:{userAgent:"Steeler/3.2 (http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)",metadata:{uaFamily:"Steeler",uaName:"Steeler/3.2",uaUrl:"http://www.tkl.iis.u-tokyo.ac.jp/~crawler/",uaCompany:"Kitsuregawa Laboratory, The University of Tokyo",uaCompanyUrl:"http://www.tkl.iis.u-tokyo.ac.jp/",uaIcon:"bot_Steeler.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Steeler"}},569:{userAgent:"Mozilla/4.0 (compatible; EDI/1.6.6; Edacious & Intelligent Web Robot; Daum Communications Corp., Korea)",metadata:{uaFamily:"EDI",uaName:"EDI/1.6.6",uaUrl:"",uaCompany:"Daum Communications Corp.",uaCompanyUrl:"http://info.daum.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=EDI"}},580:{userAgent:"Blaiz-Bee/2.00.5655 (+http://www.blaiz.net)",metadata:{uaFamily:"Blaiz-Bee",uaName:"Blaiz-Bee/2.00.5655",uaUrl:"http://www.rawgrunt.com/index.html",uaCompany:"Blaiz Enterprises",uaCompanyUrl:"http://www.blaiz.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Blaiz-Bee"}},581:{userAgent:"Zeusbot/0.07 (Ulysseek's web-crawling robot; http://www.zeusbot.com; agent@zeusbot.com)",metadata:{uaFamily:"Zeusbot",uaName:"Zeusbot/0.07",uaUrl:"http://www.zeusbot.com/",uaCompany:"Ulysseek",uaCompanyUrl:"http://www.ulysseek.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Zeusbot"}},587:{userAgent:"MQBOT/Nutch-0.9-dev (MQBOT Crawler; http://falcon.cs.uiuc.edu; mqbot@cs.uiuc.edu)",metadata:{uaFamily:"MQbot",uaName:"MQBOT/Nutch-0.9-dev b",uaUrl:"http://metaquerier.cs.uiuc.edu/crawler/",uaCompany:"University of Illinois at Urbana-Champaign",uaCompanyUrl:"http://www.uiuc.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MQbot"}},588:{userAgent:"CazoodleBot/Nutch-0.9-dev (CazoodleBot Crawler; http://www.cazoodle.com; mqbot@cazoodle.com)",metadata:{uaFamily:"CazoodleBot",uaName:"CazoodleBot d",uaUrl:"http://www.cazoodle.com/cazoodlebot.php",uaCompany:"Cazoodle Inc.",uaCompanyUrl:"http://www.cazoodle.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CazoodleBot"}},594:{userAgent:"ccubee/10.0",metadata:{uaFamily:"ccubee",uaName:"ccubee/10.0",uaUrl:"http://empyreum.com/technologies/platforms/ccubee/",uaCompany:"EMPYREUM k. s.",uaCompanyUrl:"http://empyreum.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ccubee"}},597:{userAgent:"Mozilla/5.0 (compatible; egothor/8.0g; +http://ego.ms.mff.cuni.cz/)",metadata:{uaFamily:"egothor",uaName:"egothor/8.0g",uaUrl:"http://ego.ms.mff.cuni.cz/",uaCompany:"Katedra softwarov\xe9ho in\u017een\xfdrstv\xed Univerzity Karlovi",uaCompanyUrl:"http://kocour.ms.mff.cuni.cz/cs/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=egothor"}},600:{userAgent:"Mozilla/4.0 (compatible; MSIE is not me; EDI/1.6.6; Edacious & Intelligent Web Robot; Daum Communications Corp., Korea)",metadata:{uaFamily:"EDI",uaName:"EDI/1.6.6 b",uaUrl:"",uaCompany:"Daum Communications Corp.",uaCompanyUrl:"http://info.daum.net/",uaLine truncated
|
||||
uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Acorn"}},832:{userAgent:"nestReader/0.2 (discovery; http://echonest.com/reader.shtml; reader at echonest.com)",metadata:{uaFamily:"nestReader",uaName:"nestReader/0.2",uaUrl:"http://echonest.com/reader.shtml",uaCompany:"The Echo Nest Corporation",uaCompanyUrl:"http://echonest.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=nestReader"}},833:{userAgent:"boitho.com-dc/0.86 ( http://www.boitho.com/dcbot.html )",metadata:{uaFamily:"boitho.com-dc",uaName:"boitho.com-dc/0.86",uaUrl:"http://www.boitho.com/dcbot.html",uaCompany:"Boitho",uaCompanyUrl:"http://www.boitho.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=boitho.com-dc"}},835:{userAgent:"Snappy/1.1 ( http://www.urltrends.com/ )",metadata:{uaFamily:"Snappy",uaName:"Snappy/1.1",uaUrl:"http://www.urltrends.com/",uaCompany:"Xerocity Design Group, LLC.",uaCompanyUrl:"http://www.xerocity.com/",uaIcon:"bot_snappy.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Snappy"}},844:{userAgent:"great-plains-web-spider/gpws (Flatland Industries Web Spider; http://www.flatlandindustries.com/flatlandbot.php; jason@flatlandindustries.com)",metadata:{uaFamily:"flatlandbot",uaName:"flatlandbot c",uaUrl:"http://www.flatlandindustries.com/flatlandbot.php",uaCompany:"Flatland Industries, Inc.",uaCompanyUrl:"http://www.flatlandindustries.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=flatlandbot"}},851:{userAgent:"Mozilla/5.0 (compatible; FunnelBack; http://cyan.funnelback.com/robot.html)",metadata:{uaFamily:"FunnelBack",uaName:"FunnelBack",uaUrl:"http://cyan.funnelback.com/robot.html",uaCompany:"Funnelback Pty Ltd",uaCompanyUrl:"http://www.funnelback.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FunnelBack"}},856:{userAgent:"RedBot/redbot-1.0 (Rediff.com Crawler; redbot at rediff dot com)",metadata:{uaFamily:"RedBot",uaName:"RedBot1.0",uaUrl:"",uaCompany:"Rediff.com India Limited.",uaCompanyUrl:"http://www.rediff.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=RedBot"}},859:{userAgent:"Mozilla/5.0 (compatible; heritrix/1.12.0 +http://www.accelobot.com)",metadata:{uaFamily:"Accelobot",uaName:"Accelobot",uaUrl:"http://www.accelobot.com/",uaCompany:"NetBase Solutions, Inc.",uaCompanyUrl:"http://www.netbase.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Accelobot"}},861:{userAgent:"wectar/Nutch-0.9 (nectar extracted form the glorious web; http://goosebumps4all.net/wectar; see website)",metadata:{uaFamily:"wectar",uaName:"wectar/Nutch-0.9 b",uaUrl:"http://wectar.com/",uaCompany:"Martin Dudek",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=wectar"}},865:{userAgent:"MQBOT/Nutch-0.9-dev (MQBOT Nutch Crawler; http://vwbot.cs.uiuc.edu; mqbot@cs.uiuc.edu)",metadata:{uaFamily:"MQbot",uaName:"MQBOT/Nutch-0.9-dev c",uaUrl:"http://metaquerier.cs.uiuc.edu/crawler/",uaCompany:"University of Illinois at Urbana-Champaign",uaCompanyUrl:"http://www.uiuc.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MQbot"}},872:{userAgent:"Willow Internet Crawler by Twotrees V2.1",metadata:{uaFamily:"Willow Internet Crawler",uaName:"Willow Internet Crawler 2.1",uaUrl:"",uaCompany:"Twotrees Technologies, LLC.",uaCompanyUrl:"http://www.twotrees.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Willow Internet Crawler"}},873:{userAgent:"Netintelligence LiveAssessment - www.netintelligence.com",metadata:{uaFamily:"Netintelligence LiveAssessment",uaName:"Netintelligence LiveAssessment",uaUrl:"",uaCompany:"Netintelligence Limited",uaCompanyUrl:"http://www.netintelligence.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Netintelligence LiveAssessment"}},874:{userAgent:"Mozilla/5.0 (compatible; SkreemRBot +http://skreemr.com)",metadata:{uaFamily:"SkreemRBot",uaName:"SkreemRBot",uaUrl:"",uaCompany:"SkreemR",uaCompanyUrl:"http://skreemr.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SkreemRBot"}},876:{userAgent:"great-plains-web-spider/flatlandbot (Flatland Industries Web Robot; http://www.flatlandindustries.com/flatlandbot.php; jason@flatlandindustries.com)",metadata:{uaFamily:"flatlandbot",uaName:"flatlandbot b",uaUrl:"http://www.flatlandindustries.com/flatlandbot.php",uaCompany:"Flatland Industries, Inc.",uaCompanyUrl:"http://www.flatlandindustries.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=flatlandbot"}},877:{userAgent:"flatlandbot/flatlandbot (Flatland Industries Web Spider; http://www.flatlandindustries.com/flatlandbot.php; jason@flatlandindustries.com)",metadata:{uaFamily:"flatlandbot",uaName:"flatlandbot",uaUrl:"http://www.flatlandindustries.com/flatlandbot.php",uaCompany:"Flatland Industries, Inc.",uaCompanyUrl:"http://www.flatlandindustries.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=flatlandbot"}},881:{userAgent:"Larbin (larbin2.6.3@unspecified.mail)",metadata:{uaFamily:"Larbin",uaName:"Larbin/2.6.3",uaUrl:"",uaCompany:"Sebastien Ailleret",uaCompanyUrl:"http://larbin.sourceforgLine truncated
|
||||
uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Daumoa"}},1468:{userAgent:"msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)",metadata:{uaFamily:"MSNBot",uaName:"msnbot-media/1.1",uaUrl:"http://search.msn.com/msnbot.htm",uaCompany:"Microsoft Corporation",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"bot_msnbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MSNBot"}},1469:{userAgent:"OOZBOT/0.20 ( -- ; http://www.setooz.com/oozbot.html ; agentname at setooz dot_com )",metadata:{uaFamily:"Setoozbot",uaName:"OOZBOT/0.20",uaUrl:"http://www.setooz.com/oozbot.html",uaCompany:"SETU Software Systems (P) Ltd.",uaCompanyUrl:"http://www.setusoftware.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Setoozbot"}},1470:{userAgent:"Sogou develop spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",metadata:{uaFamily:"sogou spider",uaName:"Sogou develop spider/4.0",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},1471:{userAgent:"Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",metadata:{uaFamily:"sogou spider",uaName:"Sogou web spider/4.0",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},1472:{userAgent:"SpokeSpider/1.0 (http://support.spoke.com/webspider/) Mozilla/5.0 (not really)",metadata:{uaFamily:"SpokeSpider",uaName:"SpokeSpider/1.0",uaUrl:"http://support.spoke.com/webspider/",uaCompany:"Spoke Software ",uaCompanyUrl:"http://www.spoke.com/company/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SpokeSpider"}},1474:{userAgent:"Baiduspider+(+http://www.baidu.jp/spider/)",metadata:{uaFamily:"Baiduspider",uaName:"Baiduspider japan",uaUrl:"http://www.baidu.com/search/spider.htm",uaCompany:"Baidu",uaCompanyUrl:"http://www.baidu.com/",uaIcon:"bot_baiduspider.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Baiduspider"}},1475:{userAgent:"linkdexbot/Nutch-1.0-dev (http://www.linkdex.com/; crawl at linkdex dot com)",metadata:{uaFamily:"linkdexbot",uaName:"linkdexbot",uaUrl:"http://www.linkdex.com/about/bots/",uaCompany:"Linkdex Limited.",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=linkdexbot"}},1476:{userAgent:"Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/)",metadata:{uaFamily:"NaverBot",uaName:"Yeti/1.0",uaUrl:"http://help.naver.com/robots/",uaCompany:"NHN Corporation",uaCompanyUrl:"http://www.nhncorp.com/",uaIcon:"bot_NaverBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=NaverBot"}},1478:{userAgent:"mozilla/5.0 (compatible; webmastercoffee/0.7; +http://webmastercoffee.com/about)",metadata:{uaFamily:"webmastercoffee",uaName:"webmastercoffee/0.7",uaUrl:"http://webmastercoffee.com/about",uaCompany:"Martin Schwartz",uaCompanyUrl:"http://webmastercoffee.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=webmastercoffee"}},1479:{userAgent:"boitho.com-dc/0.82 ( http://www.boitho.com/dcbot.html )",metadata:{uaFamily:"boitho.com-dc",uaName:"boitho.com-dc/0.82",uaUrl:"http://www.boitho.com/dcbot.html",uaCompany:"Boitho",uaCompanyUrl:"http://www.boitho.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=boitho.com-dc"}},1480:{userAgent:"Busiversebot/v1.0 (http://www.busiverse.com/bot.php)",metadata:{uaFamily:"Sirketce/Busiverse",uaName:"Busiversebot/v1.0",uaUrl:"http://www.busiverse.com/bot.php",uaCompany:"BerilTech",uaCompanyUrl:"http://www.sirketce.com.tr/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Sirketce/Busiverse"}},1481:{userAgent:"CatchBot/1.0; +http://www.catchbot.com",metadata:{uaFamily:"CatchBot",uaName:"CatchBot/1.0",uaUrl:"http://www.catchbot.com/",uaCompany:"Reed Business Information Pty Limited",uaCompanyUrl:"http://www.reedbusiness.com/",uaIcon:"bot_CatchBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CatchBot"}},1482:{userAgent:"CazoodleBot/0.0.2 (http://www.cazoodle.com/contact.php; cbot@cazoodle.com)",metadata:{uaFamily:"CazoodleBot",uaName:"CazoodleBot/0.0.2",uaUrl:"http://www.cazoodle.com/cazoodlebot.php",uaCompany:"Cazoodle Inc.",uaCompanyUrl:"http://www.cazoodle.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CazoodleBot"}},1484:{userAgent:"kalooga/KaloogaBot (Kalooga; http://www.kalooga.com/info.html?page=crawler; crawler@kalooga.com)",metadata:{uaFamily:"Kalooga",uaName:"Kalooga",uaUrl:"http://www.kalooga.com/info.html?page=crawler",uaCompany:"Kalooga",uaCompanyUrl:"http://www.kalooga.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Kalooga"}},1490:{userAgent:"192.comAgent",metadata:{uaFamily:"192.comAgent",uaName:"192.comAgent",uaUrl:"http://www.192.com/help/tools-guides/webcrawler/",uaCompany:"i-CD Publishing (UK) Limited",uaCompanyUrl:"http://www.icdpublishing.co.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=192.comAgent"}},1494:{userAgent:"Mozilla/4.0 (compatible; NaverBot/1.0; htLine truncated
|
||||
uaCompany:"Yahoo! Inc",uaCompanyUrl:"http://www.yahoo.com/",uaIcon:"bot_yahoo!slurp.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Yahoo!"}},1798:{userAgent:"LinkAider (http://linkaider.com/crawler/)",metadata:{uaFamily:"LinkAider",uaName:"LinkAider",uaUrl:"http://linkaider.com/crawler/",uaCompany:"Ivinco",uaCompanyUrl:"http://linkaider.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LinkAider"}},1805:{userAgent:"WinWebBot/1.0; (Balaena Ltd, UK); http://www.balaena.com/winwebbot.html; winwebbot@balaena.com;)",metadata:{uaFamily:"WinWebBot",uaName:"WinWebBot/1.0",uaUrl:"http://www.balaena.com/winwebbot.html",uaCompany:"Balaena Ltd",uaCompanyUrl:"http://www.balaena.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=WinWebBot"}},1815:{userAgent:"R6_FeedFetcher(www.radian6.com/crawler)",metadata:{uaFamily:"R6 bot",uaName:"R6_FeedFetcher",uaUrl:"http://www.radian6.com/crawler/",uaCompany:"Radian6 Technologies Inc",uaCompanyUrl:"http://www.radian6.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=R6 bot"}},1816:{userAgent:"http://domino.research.ibm.com/comm/research_projects.nsf/pages/sai-crawler.callingcard.html",metadata:{uaFamily:"SAI Crawler",uaName:"SAI Crawler",uaUrl:"http://domino.research.ibm.com/comm/research_projects.nsf/pages/sai-crawler.callingcard.html",uaCompany:"IBM",uaCompanyUrl:"http://www.ibm.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SAI Crawler"}},1818:{userAgent:"Mozilla/5.0 (compatible;YodaoBot-Image/1.0;http://www.youdao.com/help/webmaster/spider/;)",metadata:{uaFamily:"YodaoBot",uaName:"YodaoBot-Image/1.0",uaUrl:"http://www.youdao.com/help/webmaster/spider/",uaCompany:"youdao",uaCompanyUrl:"http://www.youdao.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=YodaoBot"}},1838:{userAgent:"Mozilla/5.0 (compatible; Topicbot/12.0rc-2; +http://topicbot.awardspace.us/)",metadata:{uaFamily:"Topicbot",uaName:"Topicbot/12.0rc-2",uaUrl:"http://topicbot.awardspace.us/",uaCompany:"Research Group TopicBot",uaCompanyUrl:"http://topicbot.awardspace.us/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Topicbot"}},1849:{userAgent:"http://www.amagit.com/",metadata:{uaFamily:"Amagit.COM",uaName:"Amagit.COM",uaUrl:"",uaCompany:"Joshua Schwarz",uaCompanyUrl:"http://contacts.joshuaschwarz.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Amagit.COM"}},1853:{userAgent:"Sosospider+(+http://help.soso.com/webspider.htm)",metadata:{uaFamily:"Sosospider",uaName:"Sosospider",uaUrl:"http://help.soso.com/webspider.htm",uaCompany:"Tencent, Inc.",uaCompanyUrl:"http://www.tencent.com/",uaIcon:"bot_soso.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Sosospider"}},1856:{userAgent:"findlinks/1.1.5-beta7 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.4-beta7",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},1859:{userAgent:"Mozilla/5.0 (compatible; JadynAveBot; +http://www.jadynave.com/robot)",metadata:{uaFamily:"JadynAveBot",uaName:"JadynAveBot",uaUrl:"http://www.jadynave.com/robot",uaCompany:"Yesup Ecommerce Solutions Inc.",uaCompanyUrl:"http://www.yesup.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=JadynAveBot"}},1866:{userAgent:"smart.apnoti.com Robot/v1.34 (http://smart.apnoti.com/en/aboutApnotiWebCrawler.html)",metadata:{uaFamily:"smart.apnoti.com Robot",uaName:"smart.apnoti.com Robot/v1.34",uaUrl:"http://smart.apnoti.com/en/aboutApnotiWebCrawler.html",uaCompany:"apnoti.com GmbH",uaCompanyUrl:"http://www.apnoti.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=smart.apnoti.com Robot"}},1867:{userAgent:"MnoGoSearch/3.3.9",metadata:{uaFamily:"MnoGoSearch",uaName:"MnoGoSearch/3.3.9",uaUrl:"http://www.mnogosearch.org/products.html",uaCompany:"Lavtech.Com",uaCompanyUrl:"http://www.lavtech.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MnoGoSearch"}},1869:{userAgent:"Yandex/1.01.001 (compatible; Win16; H)",metadata:{uaFamily:"YandexBot",uaName:"Yandex/1.01.001",uaUrl:"http://yandex.com/bots",uaCompany:"Yandex LLC",uaCompanyUrl:"http://company.yandex.com/",uaIcon:"bot_Yandex.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=YandexBot"}},1870:{userAgent:"FollowSite Bot ( http://www.followsite.com/bot.html )",metadata:{uaFamily:"FollowSite Bot",uaName:"FollowSite Bot",uaUrl:"http://www.followsite.com/bot.html",uaCompany:"ASX Networks ApS",uaCompanyUrl:"http://asxnetworks.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FollowSite Bot"}},1871:{userAgent:"Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/spider.html;) Gecko/2008032620",metadata:{uaFamily:"80legs",uaName:"80legs/0.83",uaUrl:"http://www.80legs.com/webcrawler.html",uaCompany:"Computational Crawling, LP",uaCompanyUrl:"http://compucrawl.com/",uaIcon:"bot_80legs.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=80legs"}},1872:{userAgent:"Mozilla/5Line truncated
|
||||
uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},3132:{userAgent:"SeznamBot/2.0-Test (+http://fulltext.sblog.cz/robot/)",metadata:{uaFamily:"SeznamBot",uaName:"SeznamBot/2.0-test",uaUrl:"http://napoveda.seznam.cz/en/indexing-the-web.html",uaCompany:"Seznam.cz, a.s.",uaCompanyUrl:"http://www.seznam.cz/",uaIcon:"seznam.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SeznamBot"}},3142:{userAgent:"SEOENGBot/1.2 (+http://learn.seoeng.com/seoengbot.htm)",metadata:{uaFamily:"SEOENGBot",uaName:"SEOENGBot/1.2 old",uaUrl:"http://www.seoengine.com/seoengbot.htm",uaCompany:"SEO Engine",uaCompanyUrl:"http://www.seoengine.com/",uaIcon:"bot_SEOENGBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SEOENGBot"}},3203:{userAgent:"Mozilla/5.0 (compatible; ScoutJet; http://www.scoutjet.com/)",metadata:{uaFamily:"ScoutJet",uaName:"ScoutJet",uaUrl:"http://www.scoutjet.com/",uaCompany:"blekko, inc.",uaCompanyUrl:"http://blekko.com/",uaIcon:"bot_ScoutJet.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ScoutJet"}},3221:{userAgent:"yacybot (i386 Linux 2.6.31-18-generic; java 1.6.0_0; Europe/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},3235:{userAgent:"Mozilla/4.0 (compatible; HostTracker.com/1.0;+http://host-tracker.com/)",metadata:{uaFamily:"HostTracker.com",uaName:"HostTracker.com/1.0",uaUrl:"http://host-tracker.com/",uaCompany:"host-tracker.com ",uaCompanyUrl:"",uaIcon:"bot_HostTracker.com.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HostTracker.com"}},3236:{userAgent:"Mozilla/5.0 (compatible; AportWorm/3.2; +http://www.aport.ru/help)",metadata:{uaFamily:"AportWorm",uaName:"AportWorm/3.2",uaUrl:"http://www.aport.ru/help/",uaCompany:"Golden Telecom",uaCompanyUrl:"http://goldentelecom.ru/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AportWorm"}},3238:{userAgent:"yacybot (i386 Linux 2.6.30-2-686; java 1.6.0_0; SystemV/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},3292:{userAgent:"Karneval-Bot (Version: 1.06, powered by www.karnevalsuchmaschine.de +http://www.karnevalsuchmaschine.de/bot.html)",metadata:{uaFamily:"Karneval-Bot",uaName:"Karneval-Bot/1.06",uaUrl:"http://www.karnevalsuchmaschine.de/zeige/bot.html",uaCompany:"F\xf6deration Europ\xe4ischer Narren",uaCompanyUrl:"http://www.fen-sued.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Karneval-Bot"}},3333:{userAgent:"Mozilla/5.0 (compatible; dotSemantic/1.0; +http://www.dotsemantic.org)",metadata:{uaFamily:"dotSemantic",uaName:"dotSemantic/1.0",uaUrl:"http://www.dotsemantic.org",uaCompany:"dotSemantic Projekt",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=dotSemantic"}},3379:{userAgent:"Mozilla/5.0 (compatible; spbot/1.0; +http://www.seoprofiler.com/bot/ )",metadata:{uaFamily:"spbot",uaName:"spbot/1.0",uaUrl:"http://www.seoprofiler.com/bot/",uaCompany:"Axandra GmbH",uaCompanyUrl:"http://www.axandra.com/",uaIcon:"bot_spbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=spbot"}},3398:{userAgent:"L.webis/0.44 (http://webalgo.iit.cnr.it/index.php?pg=lwebis)",metadata:{uaFamily:"L.webis",uaName:"L.webis/0.44",uaUrl:"http://webalgo.iit.cnr.it/index.php?pg=lwebis",uaCompany:"Institute of Informatics and Telematics (IIT)",uaCompanyUrl:"http://www.iit.cnr.it/",uaIcon:"bot_L.webis.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=L.webis"}},3409:{userAgent:"Cityreview Robot (+http://www.cityreview.org/crawler/)",metadata:{uaFamily:"cityreview",uaName:"cityreview",uaUrl:"http://www.cityreview.org/crawler/",uaCompany:"SISTRIX GmbH",uaCompanyUrl:"http://www.sistrix.com/",uaIcon:"bot_cityreview.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=cityreview"}},3415:{userAgent:"Ruky-Roboter (Version: 1.06, powered by www.ruky.de +http://www.ruky.de/bot.html)",metadata:{uaFamily:"Ruky-Roboter",uaName:"Ruky-Roboter/1.06",uaUrl:"http://www.ruky.de/zeige/bot.html",uaCompany:"ruky.de",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Ruky-Roboter"}},3422:{userAgent:"Mozilla/5.0 (compatible; abby/1.0; +http://www.ellerdale.com/crawler.html)",metadata:{uaFamily:"abby",uaName:"abby/1.0",uaUrl:"http://www.ellerdale.com/crawler.html",uaCompany:"Ellerdale Inc.",uaCompanyUrl:"http://www.ellerdale.com/",uaIcon:"bot_abby.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=abby"}},3441:{userAgent:"^Nail (http://CaretNail.com)",metadata:{uaFamily:"^Nail",uaName:"^Nail",uaUrl:"http://caret.us.com/caretnail/index.html",uaCompany:"HydraByte, Inc.",uaCompanyUrl:"http://www.hydrabyte.com/",uaIcon:"bot_Nail.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=^Nail"}},3445:{userAgent:"ichiro/4.0 (http://help.goo.ne.jp/door/crawler.html)",metadaLine truncated
|
||||
uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5278:{userAgent:"yacybot (amd64 Windows 7 6.1; java 1.6.0_18; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5280:{userAgent:"Mozilla/5.0 (compatible; MetamojiCrawler/1.0; +http://www.metamoji.com/jp/crawler.html",metadata:{uaFamily:"MetamojiCrawler",uaName:"MetamojiCrawler/1.0",uaUrl:"http://www.metamoji.com/jp/crawler.html",uaCompany:"MetaMoJi Corporation",uaCompanyUrl:"http://www.metamoji.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MetamojiCrawler"}},5281:{userAgent:"yacybot (amd64 Windows 7 6.1; java 1.6.0_21; Europe/fr) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5292:{userAgent:"findlinks/1.1.6-beta4 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.6-beta4",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5302:{userAgent:"HuaweiSymantecSpider/1.0+DSE-support@huaweisymantec.com+(compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR ; http://www.huaweisymantec.com/en/IRL/spider)",metadata:{uaFamily:"HuaweiSymantecSpider",uaName:"HuaweiSymantecSpider/1.0",uaUrl:"http://www.huaweisymantec.com/en/IRL/spider/",uaCompany:"Huawei Symantec Technologies Co.,Ltd.",uaCompanyUrl:"http://www.huaweisymantec.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HuaweiSymantecSpider"}},5311:{userAgent:"Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/webcrawler.html;) Gecko/2008032620",metadata:{uaFamily:"80legs",uaName:"80legs/0.83 b",uaUrl:"http://www.80legs.com/webcrawler.html",uaCompany:"Computational Crawling, LP",uaCompanyUrl:"http://compucrawl.com/",uaIcon:"bot_80legs.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=80legs"}},5322:{userAgent:"yacybot (amd64 Linux 2.6.31-22-server; java 1.6.0_18; Asia/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5352:{userAgent:"findlinks/1.1.6-beta5 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.6-beta5",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5357:{userAgent:"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)",metadata:{uaFamily:"bingbot",uaName:"bingbot/2.0",uaUrl:"http://www.bing.com/webmaster/help/which-crawlers-does-bing-use-8c184ec0",uaCompany:"Microsoft Corporation",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"bot_msnbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bingbot"}},5360:{userAgent:"PostPost/1.0 (+http://postpo.st/crawlers)",metadata:{uaFamily:"PostPost",uaName:"PostPost/1.0",uaUrl:"http://postpost.com/crawlers",uaCompany:"Boathouse group",uaCompanyUrl:"http://www.boathouseinc.com/",uaIcon:"bot_PostPost.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=PostPost"}},5361:{userAgent:"WebWatch/Robot_txtChecker",metadata:{uaFamily:"WebWatch/Robot_txtChecker",uaName:"WebWatch/Robot_txtChecker",uaUrl:"http://www.ukoln.ac.uk/web-focus/webwatch/services/robots-txt/",uaCompany:"UKOLN",uaCompanyUrl:"http://www.ukoln.ac.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=WebWatch/Robot_txtChecker"}},5362:{userAgent:"Robots_Tester_http_www.searchenginepromotionhelp.com",metadata:{uaFamily:"Robots_Tester",uaName:"Robots_Tester",uaUrl:"http://www.searchenginepromotionhelp.com/m/robots-text-tester/robots-checker.php",uaCompany:"Search Engine Promotion Help",uaCompanyUrl:"http://www.searchenginepromotionhelp.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Robots_Tester"}},5376:{userAgent:"Mozilla/5.0 (compatible; Peew/1.0; http://www.peew.de/crawler/)",metadata:{uaFamily:"Peew",uaName:"Peew/1.0",uaUrl:"http://www.peew.de/crawler/",uaCompany:"Marco Schmidt",uaCompanyUrl:"http://www.peew.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Peew"}},5380:{userAgent:"gonzo/1[P] (+http://www.suchen.de/faq.html)",metadata:{uaFamily:"gonzo",uaName:"gonzo/1",uaUrl:"http://www.suchen.de/faq.html",uaCompany:"SEARCHTEQ",uaCompanyUrl:"http://www.searchteq.de/",uaIcon:"bot_gonzo.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=gonzo"}},5386:{userAgent:"Mozilla/5.0 (compatible; spbot/2.1; +http://www.seoprofiler.com/bot )",metadata:{uaFamily:"spbot",uaName:"spbot/2.1Line truncated
|
||||
uaIcon:"bot_baiduspider.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Baiduspider"}},6404:{userAgent:"Mozilla/5.0 (compatible; AhrefsBot/1.0; +http://ahrefs.com/robot/)",metadata:{uaFamily:"AhrefsBot",uaName:"AhrefsBot/1.0",uaUrl:"http://ahrefs.com/robot/",uaCompany:"Ahrefs.com",uaCompanyUrl:"http://ahrefs.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AhrefsBot"}},6436:{userAgent:"Mozilla/5.0 (compatible; MojeekBot/0.2; http://www.mojeek.com/bot.html)",metadata:{uaFamily:"MojeekBot",uaName:"MojeekBot/0.2",uaUrl:"http://www.mojeek.com/bot.html",uaCompany:"Mojeek Ltd.",uaCompanyUrl:"http://www.mojeek.com/",uaIcon:"bot_MojeekBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MojeekBot"}},6506:{userAgent:"SEOENGWorldBot/1.0 (+http://www.seoengine.com/seoengbot.htm)",metadata:{uaFamily:"SEOENGBot",uaName:"SEOENGBot/1.0",uaUrl:"http://www.seoengine.com/seoengbot.htm",uaCompany:"SEO Engine",uaCompanyUrl:"http://www.seoengine.com/",uaIcon:"bot_SEOENGBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SEOENGBot"}},6514:{userAgent:"Mozilla/5.0 (compatible; socketcrawler; http://nlp.fi.muni.cz/projects/biwec/)",metadata:{uaFamily:"biwec",uaName:"biwec",uaUrl:"http://nlp.fi.muni.cz/projects/biwec/",uaCompany:"Centre for Natural Language Processing",uaCompanyUrl:"http://muni.cz/fi/335300?lang=en",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=biwec"}},6515:{userAgent:"Wotbox/2.0 (bot@wotbox.com; http://www.wotbox.com)",metadata:{uaFamily:"Wotbox",uaName:"Wotbox/2.0",uaUrl:"http://www.wotbox.com/bot/",uaCompany:"Wotbox Team",uaCompanyUrl:"http://www.wotbox.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Wotbox"}},6578:{userAgent:"Mozilla/5.0 (compatible; Thumbshots.ru; +http://thumbshots.ru/bot) Firefox/3",metadata:{uaFamily:"Thumbshots.ru",uaName:"Thumbshots.ru",uaUrl:"http://thumbshots.ru/bot",uaCompany:"Sonorth Technologies",uaCompanyUrl:"http://www.sonorth.com/tech/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Thumbshots.ru"}},6583:{userAgent:"JikeSpider Mozilla/5.0 (compatible; JikeSpider; +http://shoulu.jike.com/spider.html)",metadata:{uaFamily:"JikeSpider",uaName:"JikeSpider",uaUrl:"http://shoulu.jike.com/spider.html",uaCompany:"jike.com",uaCompanyUrl:"http://www.jike.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=JikeSpider"}},6592:{userAgent:"Aboundex/0.2 (http://www.aboundex.com/crawler/)",metadata:{uaFamily:"Aboundexbot",uaName:"Aboundexbot/0.2",uaUrl:"http://www.aboundex.com/crawler/",uaCompany:"Aboundex.com",uaCompanyUrl:"http://www.aboundex.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Aboundexbot"}},6598:{userAgent:"Mozilla/5.0 (compatible; SEOkicks-Robot +http://www.seokicks.de/robot.html)",metadata:{uaFamily:"SEOkicks-Robot",uaName:"SEOkicks-Robot",uaUrl:"http://www.seokicks.de/robot.html",uaCompany:"Torsten R\xfcckert Internetdienstleistungen",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SEOkicks-Robot"}},6603:{userAgent:"Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)",metadata:{uaFamily:"Yahoo! JAPAN",uaName:"Y!J-BRW/1.0",uaUrl:"http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html",uaCompany:"Yahoo! Inc",uaCompanyUrl:"http://www.yahoo.com/",uaIcon:"bot_yahoo!slurp.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Yahoo! JAPAN"}},6612:{userAgent:"The Lemur Web Crawler/Nutch-1.3 (Lemur Web Crawler; http://boston.lti.cs.cmu.edu/crawler_12/; admin@lemurproject.org)",metadata:{uaFamily:"LemurWebCrawler",uaName:"LemurWebCrawler",uaUrl:"http://boston.lti.cs.cmu.edu/crawler_12/",uaCompany:"Language Technologies Institute",uaCompanyUrl:"http://www.lti.cs.cmu.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LemurWebCrawler"}},6625:{userAgent:"LapozzBot/1.5 (+http://robot.lapozz.hu) ",metadata:{uaFamily:"LapozzBot",uaName:"LapozzBot/1.5",uaUrl:"http://robot.lapozz.hu/",uaCompany:"lapozz.hu",uaCompanyUrl:"http://www.lapozz.hu/",uaIcon:"bot_lapozzbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LapozzBot"}},6630:{userAgent:"CovarioIDS/1.1 (http://www.covario.com/ids; support at covario dot com)",metadata:{uaFamily:"Covario-IDS",uaName:"CovarioIDS/1.1",uaUrl:"http://www.covario.com/ids",uaCompany:"Covario, Inc.",uaCompanyUrl:"http://www.covario.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Covario-IDS"}},6647:{userAgent:"Mozilla/5.0 (compatible; heritrix/3.1.0-RC1 +http://boston.lti.cs.cmu.edu/crawler_12/)",metadata:{uaFamily:"LemurWebCrawler",uaName:"LemurWebCrawler",uaUrl:"http://boston.lti.cs.cmu.edu/crawler_12/",uaCompany:"Language Technologies Institute",uaCompanyUrl:"http://www.lti.cs.cmu.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LemurWebCrawler"}},6679:{userAgent:"yacybot (freeworld/global; amd64 Linux 2.6.32-34-server; java 1.6.0_26; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/lisLine truncated
|
||||
metadata:{uaFamily:"heritrix",uaName:"heritrix/3.1.1",uaUrl:"http://www.archive.org/details/archive.org_bot",uaCompany:"Internet Archive",uaCompanyUrl:"",uaIcon:"bot_heritrix.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=heritrix"}},7230:{userAgent:"AddThis.com robot tech.support@clearspring.com",metadata:{uaFamily:"AddThis.com",uaName:"AddThis.com robot",uaUrl:"",uaCompany:"Clearspring Technologies, Inc.",uaCompanyUrl:"http://www.clearspring.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AddThis.com"}},7238:{userAgent:"Mozilla/5.0 (compatible; Netseer crawler/2.0; +http://www.netseer.com/crawler.html; crawler@netseer.com)",metadata:{uaFamily:"Netseer",uaName:"Netseer crawler/2.0",uaUrl:"http://www.netseer.com/crawler.html",uaCompany:"NetSeer, Inc.",uaCompanyUrl:"http://www.netseer.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Netseer"}},7243:{userAgent:"Mozilla/5.0 (compatible; EventGuruBot/1.0; +http://www.eventguru.com/spider.html)",metadata:{uaFamily:"EventGuruBot",uaName:"EventGuruBot/1.0",uaUrl:"http://www.eventguru.com/spider.html",uaCompany:"Matt Wells",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=EventGuruBot"}},7252:{userAgent:"yacybot (freeworld/global; amd64 Linux 2.6.26-2-amd64; java 1.6.0_18; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7253:{userAgent:"yacybot (freeworld/global; amd64 Windows Server 2008 6.0; java 1.7.0_03; Europe/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7258:{userAgent:"SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7259:{userAgent:"DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7260:{userAgent:"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7263:{userAgent:"yacybot (freeworld/global; amd64 Windows 7 6.1; java 1.6.0_24; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7265:{userAgent:"Acoon v4.10.5 (www.acoon.de)",metadata:{uaFamily:"AcoonBot",uaName:"Acoon v4.10.5",uaUrl:"http://www.acoon.de/robot.asp",uaCompany:"Acoon GmbH",uaCompanyUrl:"http://www.acoon.de/",uaIcon:"bot_Acoon.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AcoonBot"}},7267:{userAgent:"SemrushBot/0.92",metadata:{uaFamily:"SemrushBot",uaName:"SemrushBot/0.92",uaUrl:"http://www.semrush.com/bot.html",uaCompany:"SEOQuake Team",uaCompanyUrl:"http://www.seoquaketeam.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SemrushBot"}},7278:{userAgent:"yacybot (freeworld/global; amd64 Linux 2.6.32-custom; java 1.6.0_26; Europe/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7285:{userAgent:"OpenAcoon v4.10.5 (www.openacoon.de)",metadata:{uaFamily:"AcoonBot",uaName:"OpenAcoon v4.10.5",uaUrl:"http://www.openacoon.de/",uaCompany:"Acoon GmbH",uaCompanyUrl:"http://www.acoon.de/",uaIcon:"bot_Acoon.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AcoonBot"}},7300:{userAgent:"Mozilla/5.0 (compatible; gofind; +http://govid.mobi/bot.php)",metadata:{uaFamily:"YioopBot",uaName:"gofind",uaUrl:"http://govid.mobi/bot.php",uaCompany:"Chris Pollett",uaCompanyUrl:"http://pollett.org/",uaIcon:"bot.png",uaInfoUrl:"/list-Line truncated
|
||||
}},7671:{userAgent:"Sogou Web Spider",metadata:{uaFamily:"sogou spider",uaName:"Sogou web spider",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},7675:{userAgent:"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.0; trendictionbot0.5.0; trendiction search; http://www.trendiction.de/bot; please let us know of any problems; web at trendiction.com) Gecko/20071127 Firefox/3.0.0.11",metadata:{uaFamily:"trendictionbot ",uaName:"trendictionbot0.5.0",uaUrl:"http://www.trendiction.de/bot",uaCompany:"Trendiction S.A.",uaCompanyUrl:"http://www.trendiction.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=trendictionbot "}},7676:{userAgent:"ichiro/3.0 (http://search.goo.ne.jp/option/use/sub4/sub4-1/)",metadata:{uaFamily:"ichiro",uaName:"ichiro/3.0",uaUrl:"http://search.goo.ne.jp/option/use/sub4/sub4-1/",uaCompany:"NTT-Resonant Inc.",uaCompanyUrl:"http://www.nttr.co.jp/",uaIcon:"bot_ichiro.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ichiro"}},7696:{userAgent:"bot-pge.chlooe.com/1.0.0 (+http://www.chlooe.com/)",metadata:{uaFamily:"bot-pge.chlooe.com",uaName:"bot-pge.chlooe.com/1.0.0",uaUrl:"http://bot-pge.chlooe.com/",uaCompany:"Chlooe.com",uaCompanyUrl:"http://www.chlooe.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bot-pge.chlooe.com"}},7697:{userAgent:"Mozilla/5.0(compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)",metadata:{uaFamily:"Sosospider",uaName:"Sosospider/2.0",uaUrl:"http://help.soso.com/webspider.htm",uaCompany:"Tencent, Inc.",uaCompanyUrl:"http://www.tencent.com/",uaIcon:"bot_soso.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Sosospider"}},7717:{userAgent:"Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)",metadata:{uaFamily:"GrapeshotCrawler",uaName:"GrapeshotCrawler/2.0",uaUrl:"http://www.grapeshot.co.uk/crawler.php",uaCompany:"Grapeshot Limited",uaCompanyUrl:"http://www.grapeshot.co.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=GrapeshotCrawler"}},7718:{userAgent:"Mozilla/5.0 (compatible; grapeFX/0.9; crawler@grapeshot.co.uk",metadata:{uaFamily:"GrapeshotCrawler",uaName:"grapeFX/0.9",uaUrl:"http://www.grapeshot.co.uk/crawler.php",uaCompany:"Grapeshot Limited",uaCompanyUrl:"http://www.grapeshot.co.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=GrapeshotCrawler"}},7726:{userAgent:"Mozilla/5.0 (compatible; Infohelfer/1.3.0; +http://www.infohelfer.de/crawler.php)",metadata:{uaFamily:"Infohelfer",uaName:"Infohelfer/1.3.0",uaUrl:"http://www.infohelfer.de/crawler.php",uaCompany:"ITam GmbH",uaCompanyUrl:"http://www.itam-gmbh.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Infohelfer"}},7727:{userAgent:"coccoc/1.0 (http://help.coccoc.vn/)",metadata:{uaFamily:"coccoc",uaName:"coccoc/1.0",uaUrl:"http://help.coccoc.com/",uaCompany:"Coc Coc",uaCompanyUrl:"http://coccoc.vn/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=coccoc"}},7729:{userAgent:"yacybot (freeworld/global; amd64 Windows 7 6.1; java 1.6.0_25; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7732:{userAgent:"Bad-Neighborhood Link Analyzer (http://www.bad-neighborhood.com/)",metadata:{uaFamily:"Bad-Neighborhood",uaName:"Bad-Neighborhood Link Analyzer",uaUrl:"http://www.bad-neighborhood.com/text-link-tool.htm",uaCompany:"Michael VanDeMar",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Bad-Neighborhood"}},7733:{userAgent:"Bad Neighborhood Header Detector (http://www.bad-neighborhood.com/header_detector.php)",metadata:{uaFamily:"Bad-Neighborhood",uaName:"Bad Neighborhood Header Detector",uaUrl:"http://www.bad-neighborhood.com/header_detector.php",uaCompany:"Michael VanDeMar",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Bad-Neighborhood"}},7747:{userAgent:"Whoismindbot/1.0 (+http://www.whoismind.com/bot.html)",metadata:{uaFamily:"Whoismindbot",uaName:"Whoismindbot/1.0",uaUrl:"http://www.whoismind.com/bot.html",uaCompany:"WhoisMind",uaCompanyUrl:"http://www.whoismind.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Whoismindbot"}},7748:{userAgent:"webinatorbot 1.0; +http://www.webinator.de",metadata:{uaFamily:"webinatorbot",uaName:"webinatorbot 1.0",uaUrl:"",uaCompany:"HighSignal UG",uaCompanyUrl:"http://www.highsignal.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=webinatorbot"}},7754:{userAgent:"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm",metadata:{uaFamily:"bingbot",uaName:"bingbot/2.0",uaUrl:"http://www.bing.com/webmaster/help/which-crawlers-does-bing-use-8c184ec0",uaCompany:"Microsoft Corporation",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"bot_msnbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bingbot"}}Line truncated
|
||||
uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},9717:{userAgent:"Sogou web spider/4.0l-2m!",metadata:{uaFamily:"sogou spider",uaName:"Sogou web spider/4.0l-2m!",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},9737:{userAgent:"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko; Google Web Preview) Chrome/22.0.1229 Safari/537.4",metadata:{uaFamily:"Googlebot",uaName:"Google Web Preview",uaUrl:"http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1062498",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},9781:{userAgent:"Mozilla/5.0 (compatible; uMBot-FC/1.0; mailto: crawling@ubermetrics-technologies.com)",metadata:{uaFamily:"uMBot",uaName:"uMBot-FC/1.0",uaUrl:"",uaCompany:"uberMetrics Technologies GmbH",uaCompanyUrl:"http://www.ubermetrics-technologies.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=uMBot"}},9784:{userAgent:"Mozilla/5.0 (compatible; coccoc/1.0; +http://help.coccoc.com/)",metadata:{uaFamily:"coccoc",uaName:"coccoc/1.0",uaUrl:"http://help.coccoc.com/",uaCompany:"Coc Coc",uaCompanyUrl:"http://coccoc.vn/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=coccoc"}},9832:{userAgent:"Mozilla/5.0 (compatible; Mozilla; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)",metadata:{uaFamily:"bixocrawler",uaName:"bixocrawler",uaUrl:"http://wiki.github.com/bixo/bixo/bixocrawler",uaCompany:"Bixo Labs",uaCompanyUrl:"http://openbixo.org/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bixocrawler"}},9839:{userAgent:"Mozilla/5.0 (compatible; aiHitBot/2.7; +http://www.aihit.com/)",metadata:{uaFamily:"aiHitBot",uaName:"aiHitBot/2.7",uaUrl:"",uaCompany:"aiHit Ltd",uaCompanyUrl:"http://aihit.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=aiHitBot"}},9852:{userAgent:"Mozilla/5.0 (compatible; GigaBot/1.0; +http://www.gigablast.com/ )",metadata:{uaFamily:"Gigabot",uaName:"Gigabot/1.0",uaUrl:"http://www.gigablast.com/spider.html",uaCompany:"Gigablast Inc",uaCompanyUrl:"http://www.gigablast.com/",uaIcon:"bot_gigabot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Gigabot"}},9868:{userAgent:"CirrusExplorer/1.1 (http://www.cireu.com/explorer.php)",metadata:{uaFamily:"CirrusExplorer",uaName:"CirrusExplorer/1.1",uaUrl:"http://www.cireu.com/explorer.php",uaCompany:"cireu.com",uaCompanyUrl:"http://www.cireu.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CirrusExplorer"}},9874:{userAgent:"Mozilla/5.0 (compatible; uMBot-LN/1.0; mailto: crawling@ubermetrics-technologies.com)",metadata:{uaFamily:"uMBot",uaName:"uMBot-LN/1.0",uaUrl:"",uaCompany:"uberMetrics Technologies GmbH",uaCompanyUrl:"http://www.ubermetrics-technologies.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=uMBot"}},9875:{userAgent:"Crowsnest/0.5 (+http://www.crowsnest.tv/)",metadata:{uaFamily:"Crowsnest",uaName:"Crowsnest/0.5",uaUrl:"",uaCompany:"Gocro, Inc.",uaCompanyUrl:"http://www.gocro.jp/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Crowsnest"}},9877:{userAgent:"QuerySeekerSpider ( http://queryseeker.com/bot.html )",metadata:{uaFamily:"QuerySeekerSpider",uaName:"QuerySeekerSpider",uaUrl:"http://queryseeker.com/bot.html",uaCompany:"QueryEye Inc.",uaCompanyUrl:"http://queryeye.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=QuerySeekerSpider"}},9905:{userAgent:"ownCloud Server Crawler",metadata:{uaFamily:"ownCloud Server Crawler",uaName:"ownCloud Server Crawler",uaUrl:"",uaCompany:"ownCloud comunity",uaCompanyUrl:"http://owncloud.org/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ownCloud Server Crawler"}},9918:{userAgent:"Mozilla/5.0 (compatible; rogerBot/1.0; UrlCrawler; http://www.seomoz.org/dp/rogerbot)",metadata:{uaFamily:"rogerbot",uaName:"rogerbot/1.0",uaUrl:"http://moz.com/help/pro/what-is-rogerbot-",uaCompany:"SEOmoz, Inc.",uaCompanyUrl:"http://moz.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=rogerbot"}},9925:{userAgent:"Mozilla/5.0 (compatible; SemrushBot/0.96.3; +http://www.semrush.com/bot.html)",metadata:{uaFamily:"SemrushBot",uaName:"SemrushBot/0.96.3",uaUrl:"http://www.semrush.com/bot.html",uaCompany:"SEOQuake Team",uaCompanyUrl:"http://www.seoquaketeam.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SemrushBot"}},9949:{userAgent:"yacybot (freeworld/global; amd64 Linux 3.8.0-23-generic; java 1.6.0_27; Pacific/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},10008:{userAgent:"BLEXBot",metadata:{uaFamily:"BLEXBot",uaName:"BLEXBot",uaUrl:"http://webmeup-crawler.com/",uaCompLine truncated
|
||||
},os:{1:{osFamily:"Windows",osName:"Windows XP",osUrl:"http://en.wikipedia.org/wiki/Windows_XP",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windowsxp.png"},2:{osFamily:"Windows",osName:"Windows 2000",osUrl:"http://en.wikipedia.org/wiki/Windows_2000",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},3:{osFamily:"Windows",osName:"Windows 2003 Server",osUrl:"http://en.wikipedia.org/wiki/Windows_2003",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windowsxp.png"},4:{osFamily:"Windows",osName:"Windows 95",osUrl:"http://en.wikipedia.org/wiki/Windows_95",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},5:{osFamily:"Windows",osName:"Windows 98",osUrl:"http://en.wikipedia.org/wiki/Windows_98",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},6:{osFamily:"Windows",osName:"Windows 3.x",osUrl:"http://en.wikipedia.org/wiki/Windows_3.x",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},7:{osFamily:"Windows",osName:"Windows CE",osUrl:"http://en.wikipedia.org/wiki/Windows_CE",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windowsce.png"},8:{osFamily:"Windows",osName:"Windows ME",osUrl:"http://en.wikipedia.org/wiki/Windows_me",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},9:{osFamily:"Windows",osName:"Windows Vista",osUrl:"http://en.wikipedia.org/wiki/Windows_Vista",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windowsvista.png"},10:{osFamily:"JVM",osName:"JVM (Platform Micro Edition)",osUrl:"http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition",osCompany:"Sun Microsystems, Inc.",osCompanyUrl:"http://en.wikipedia.org/wiki/Sun_Microsystems",osIcon:"java.png"},11:{osFamily:"Linux",osName:"Linux (CentOS)",osUrl:"http://www.centos.org/",osCompany:"CentOS Project",osCompanyUrl:"http://www.centos.org/",osIcon:"linux_centos.png"},12:{osFamily:"Linux",osName:"Linux (Ubuntu)",osUrl:"http://www.ubuntu.com/",osCompany:"Canonical Ltd.",osCompanyUrl:"http://www.canonical.com/",osIcon:"linux_ubuntu.png"},13:{osFamily:"Linux",osName:"Linux (Debian)",osUrl:"http://www.debian.org/",osCompany:"Software in the Public Interest, Inc.",osCompanyUrl:"http://www.spi-inc.org/",osIcon:"linux_debian.png"},14:{osFamily:"Linux",osName:"Linux (Fedora)",osUrl:"http://fedoraproject.org/",osCompany:"Red Hat, Inc.",osCompanyUrl:"http://www.redhat.com/",osIcon:"linux_fedora.png"},15:{osFamily:"Linux",osName:"Linux (Gentoo)",osUrl:"http://www.gentoo.org/",osCompany:"Gentoo Foundation, Inc.",osCompanyUrl:"http://www.gentoo.org/foundation/en/",osIcon:"linux_gentoo.png"},16:{osFamily:"Linux",osName:"Linux (Linspire)",osUrl:"http://en.wikipedia.org/wiki/Linspire",osCompany:"Linspire, Inc.",osCompanyUrl:"http://www.linspire.com/",osIcon:"linux_linspire.png"},17:{osFamily:"Linux",osName:"Linux (Mandriva)",osUrl:"http://www.mandriva.com/",osCompany:"",osCompanyUrl:"",osIcon:"linux_mandriva.png"},18:{osFamily:"Linux",osName:"Linux (RedHat)",osUrl:"http://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux",osCompany:"Red Hat, Inc.",osCompanyUrl:"http://www.redhat.com/",osIcon:"linux_redhat.png"},19:{osFamily:"Linux",osName:"Linux",osUrl:"http://en.wikipedia.org/wiki/Linux",osCompany:"",osCompanyUrl:"",osIcon:"linux.png"},20:{osFamily:"Linux",osName:"Linux (Slackware)",osUrl:"http://www.slackware.com/",osCompany:"Slackware Linux, Inc.",osCompanyUrl:"",osIcon:"linux_slackware.png"},21:{osFamily:"Linux",osName:"Linux (Kanotix)",osUrl:"http://kanotix.com/",osCompany:"",osCompanyUrl:"",osIcon:"linux_kanotix.png"},22:{osFamily:"Linux",osName:"Linux (SUSE)",osUrl:"http://www.suse.com/",osCompany:"Novell, Inc.",osCompanyUrl:"http://www.novell.com/home/",osIcon:"linux_suse.png"},23:{osFamily:"Linux",osName:"Linux (Knoppix)",osUrl:"http://knoppix.net/",osCompany:"Klaus Knopper",osCompanyUrl:"http://www.knopper.net/knopper/",osIcon:"linux_knoppix.png"},24:{osFamily:"BSD",osName:"NetBSD",osUrl:"http://www.netbsd.org/",osCompany:"NetBSD Foundation, Inc.",osCompanyUrl:"",osIcon:"netbsd.png"},25:{osFamily:"BSD",osName:"FreeBSD",osUrl:"http://www.freebsd.org/",osCompany:"FreeBSD Foundation",osCompanyUrl:"http://www.freebsdfoundation.org/",osIcon:"freebsd.png"},26:{osFamily:"BSD",osName:"OpenBSD",osUrl:"http://www.openbsd.org/",osCompany:"",osCompanyUrl:"",osIcon:"openbsd.png"},29:{osFamily:"Solaris",osName:"Solaris",osUrl:"http://en.wikipedia.org/wiki/Solaris_%28operating_system%29",osCompany:"Sun Microsystems, Inc.",osCompanyUrl:"http://en.wikipedia.org/wiki/Sun_Microsystems",osIcon:"solaris.png"},30:{osFamily:"Amiga OS",osName:"Amiga OS",osUrl:"http://www.amigaos.net/",osCompany:"Commodore International Limited",osCompanyUrl:"http://en.wikipedia.org/wiki/Commodore_International",osIcon:"amiLine truncated
|
||||
uaCompany:"Fenrir Inc.",uaCompanyUrl:"http://www.fenrir-inc.com/",uaIcon:"sleipnir.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Sleipnir"}},61:{typeId:"0",metadata:{uaFamily:"Swiftfox",uaUrl:"http://www.getswiftfox.com/",uaCompany:"Jason Halme",uaCompanyUrl:"",uaIcon:"swiftfox.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Swiftfox"}},62:{typeId:"1",metadata:{uaFamily:"Teleport Pro",uaUrl:"http://www.tenmax.com/teleport/pro/home.htm",uaCompany:"Tennyson Maxwell Information Systems, Inc.",uaCompanyUrl:"http://www.tenmax.com/",uaIcon:"teleportpro.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Teleport Pro"}},71:{typeId:"1",metadata:{uaFamily:"WebCopier",uaUrl:"http://www.maximumsoft.com/products/wc_index.html",uaCompany:"MaximumSoft Corp.",uaCompanyUrl:"http://www.maximumsoft.com/",uaIcon:"webcopier.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=WebCopier"}},74:{typeId:"0",metadata:{uaFamily:"Phaseout",uaUrl:"http://www.phaseout.net/",uaCompany:"PhaseOut.net",uaCompanyUrl:"http://www.phaseout.net/",uaIcon:"phaseout.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Phaseout"}},79:{typeId:"4",metadata:{uaFamily:"Thunderbird",uaUrl:"http://www.mozilla.com/en-US/thunderbird/",uaCompany:"Mozilla Foundation",uaCompanyUrl:"http://www.mozilla.org/",uaIcon:"thunderbird.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Thunderbird"}},81:{typeId:"3",metadata:{uaFamily:"Doris",uaUrl:"http://www.anygraaf.fi/browser/indexe.htm",uaCompany:"Anygraaf",uaCompanyUrl:"http://www.anygraaf.fi/",uaIcon:"doris.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Doris"}},82:{typeId:"0",metadata:{uaFamily:"Enigma browser",uaUrl:"http://www.suttondesigns.com/",uaCompany:"Advanced Search Technologies, Inc.",uaCompanyUrl:"http://www.advancedsearchcorp.com/",uaIcon:"enigmabrowser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Enigma browser"}},85:{typeId:"5",metadata:{uaFamily:"Jakarta Commons-HttpClient",uaUrl:"http://jakarta.apache.org/commons/httpclient/",uaCompany:"Apache Software Foundation",uaCompanyUrl:"http://www.apache.org/",uaIcon:"jakarta.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Jakarta Commons-HttpClient"}},86:{typeId:"5",metadata:{uaFamily:"cURL",uaUrl:"http://curl.haxx.se/",uaCompany:"team Haxx",uaCompanyUrl:"http://www.haxx.se/",uaIcon:"curl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=cURL"}},87:{typeId:"0",metadata:{uaFamily:"Amaya",uaUrl:"http://www.w3.org/Amaya/",uaCompany:"World Wide Web Consortium",uaCompanyUrl:"http://www.w3.org/",uaIcon:"amaya.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Amaya"}},88:{typeId:"1",metadata:{uaFamily:"GetRight",uaUrl:"http://www.getright.com/",uaCompany:"Headlight Software, Inc.",uaCompanyUrl:"http://www.headlightinc.com/",uaIcon:"getright.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GetRight"}},89:{typeId:"0",metadata:{uaFamily:"Off By One",uaUrl:"http://offbyone.com/",uaCompany:"Home Page Software Inc.",uaCompanyUrl:"http://homepagesw.com/",uaIcon:"offbyone.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Off By One"}},90:{typeId:"5",metadata:{uaFamily:"Python-urllib",uaUrl:"http://www.python.org/doc/current/lib/module-urllib.html",uaCompany:"Python Software Foundation",uaCompanyUrl:"http://www.python.org/psf/",uaIcon:"pythonurllib.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Python-urllib"}},91:{typeId:"0",metadata:{uaFamily:"w3m",uaUrl:"http://w3m.sourceforge.net/",uaCompany:"Sakamoto Hironori",uaCompanyUrl:"http://www2u.biglobe.ne.jp/%7Ehsaka/",uaIcon:"w3m.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=w3m"}},93:{typeId:"1",metadata:{uaFamily:"WebZIP",uaUrl:"http://www.spidersoft.com/webzip/",uaCompany:"Spidersoft",uaCompanyUrl:"http://www.spidersoft.com/",uaIcon:"webzip.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=WebZIP"}},94:{typeId:"0",metadata:{uaFamily:"ICE browser",uaUrl:"http://www.icesoft.com/products/icebrowser.html",uaCompany:"ICEsoft Technologies Inc.",uaCompanyUrl:"http://www.icesoft.com/",uaIcon:"icebrowser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=ICE browser"}},96:{typeId:"0",metadata:{uaFamily:"IceApe",uaUrl:"http://www.debian.org/",uaCompany:"Software in the Public Interest, Inc.",uaCompanyUrl:"http://www.spi-inc.org/",uaIcon:"seamonkey.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=IceApe"}},99:{typeId:"0",metadata:{uaFamily:"HotJava",uaUrl:"http://java.sun.com/products/archive/hotjava/index.html",uaCompany:"Sun Microsystems, Inc.",uaCompanyUrl:"http://www.sun.com/",uaIcon:"hotjava.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=HotJava"}},100:{typeId:"1",metadata:{uaFamily:"JoBo",uaUrl:"http://www.matuschek.net/jobo/",uaCompany:"Daniel Matuschek",uaCompanyUrl:"http://www.matuschek.net/",uaIcon:"jobo.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=JoBo"}},105:{typeId:"5",metadata:{uaFamily:"POE-Component-Client-HTTP",uaUrl:"http://search.cpan.org/dist/POE-Component-Client-HTTP/",uaCompany:"",uaCompanyUrl:"",uaIcon:"perl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=POE-CLine truncated
|
||||
uaIcon:"newsbreak.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=NewsBreak"}},238:{typeId:"20",metadata:{uaFamily:"LinkbackPlugin for Laconica",uaUrl:"http://laconi.ca/",uaCompany:"Laconica Developer Community",uaCompanyUrl:"http://laconi.ca/trac/wiki/DeveloperCommunity",uaIcon:"laconica.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=LinkbackPlugin for Laconica"}},239:{typeId:"20",metadata:{uaFamily:"Microsoft WebDAV client",uaUrl:"",uaCompany:"Microsoft Corporation.",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"webdav.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Microsoft WebDAV client"}},240:{typeId:"20",metadata:{uaFamily:"GnomeVFS",uaUrl:"http://developer.gnome.org/doc/API/2.0/gnome-vfs-2",uaCompany:"The GNOME Project",uaCompanyUrl:"http://www.gnome.org/",uaIcon:"webdav.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GnomeVFS"}},241:{typeId:"0",metadata:{uaFamily:"Uzbl",uaUrl:"http://www.uzbl.org/",uaCompany:"",uaCompanyUrl:"",uaIcon:"uzbl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Uzbl"}},242:{typeId:"10",metadata:{uaFamily:"Cynthia",uaUrl:"http://www.contentquality.com/",uaCompany:"HiSoftware Inc.",uaCompanyUrl:"http://www.hisoftware.com/",uaIcon:"cynthia.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Cynthia"}},243:{typeId:"15",metadata:{uaFamily:"Sage",uaUrl:"http://sage.mozdev.org",uaCompany:"Peter Andrews",uaCompanyUrl:"http://petea.org/",uaIcon:"sage.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Sage"}},244:{typeId:"18",metadata:{uaFamily:"Banshee",uaUrl:"http://banshee-project.org/",uaCompany:"Novell, Inc.",uaCompanyUrl:"http://www.novell.com/",uaIcon:"banshee.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Banshee"}},245:{typeId:"0",metadata:{uaFamily:"Wyzo",uaUrl:"http://www.wyzo.com/",uaCompany:"Radical Software Ltd.",uaCompanyUrl:"http://www.radicalsoft.com/",uaIcon:"wyzo.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Wyzo"}},246:{typeId:"15",metadata:{uaFamily:"RSSOwl",uaUrl:"http://www.rssowl.org/",uaCompany:"Benjamin Pasero",uaCompanyUrl:"",uaIcon:"rssowl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=RSSOwl"}},247:{typeId:"0",metadata:{uaFamily:"ABrowse",uaUrl:"http://en.wikipedia.org/wiki/ABrowse",uaCompany:"Kurt Skauen",uaCompanyUrl:"http://www.syllable.org/",uaIcon:"abrowse.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=ABrowse"}},248:{typeId:"20",metadata:{uaFamily:"Funambol Outlook Sync Client",uaUrl:"https://www.forge.funambol.org/download/",uaCompany:"Funambol, Inc.",uaCompanyUrl:"http://funambol.com/",uaIcon:"funambol-outlook.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Funambol Outlook Sync Client"}},249:{typeId:"20",metadata:{uaFamily:"Funambol Mozilla Sync Client",uaUrl:"https://mozilla-plugin.forge.funambol.org/ ",uaCompany:"Carlo Codega",uaCompanyUrl:"http://sazilla.blogspot.com",uaIcon:"funambol-mozilla.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Funambol Mozilla Sync Client"}},250:{typeId:"15",metadata:{uaFamily:"RSS Menu",uaUrl:"http://www.edot-studios.com/webgroups2/index.php?menu_item=212",uaCompany:"e dot studios",uaCompanyUrl:"http://www.edot-studios.com/",uaIcon:"rss_menu.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=RSS Menu"}},251:{typeId:"18",metadata:{uaFamily:"foobar2000",uaUrl:"http://www.foobar2000.org/",uaCompany:"Peter Pawlowski",uaCompanyUrl:"",uaIcon:"foobar2000.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=foobar2000"}},252:{typeId:"5",metadata:{uaFamily:"GStreamer",uaUrl:"http://gstreamer.freedesktop.org/",uaCompany:"GStreamer community",uaCompanyUrl:"http://gstreamer.freedesktop.org/",uaIcon:"GStreamer.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GStreamer"}},253:{typeId:"20",metadata:{uaFamily:"NetFront Mobile Content Viewer",uaUrl:"http://www.access-company.com/products/mobile_solutions/netfrontmobile/contentviewer/index.html",uaCompany:"ACCESS CO., LTD.",uaCompanyUrl:"http://www.access-company.com/",uaIcon:"netfront.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=NetFront Mobile Content Viewer"}},254:{typeId:"5",metadata:{uaFamily:"PHP OpenID library",uaUrl:"http://openidenabled.com/php-openid/",uaCompany:"JanRain, Inc.",uaCompanyUrl:"http://www.janrain.com/",uaIcon:"PHP_OpenID_lib.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=PHP OpenID library"}},255:{typeId:"0",metadata:{uaFamily:"Blackbird",uaUrl:"http://www.blackbirdbrowser.com/",uaCompany:"40A, Inc.",uaCompanyUrl:"",uaIcon:"blackbird.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Blackbird"}},256:{typeId:"15",metadata:{uaFamily:"GreatNews",uaUrl:"http://www.curiostudio.com/",uaCompany:"Curio Studio",uaCompanyUrl:"",uaIcon:"GreatNews.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GreatNews"}},257:{typeId:"0",metadata:{uaFamily:"DeskBrowse",uaUrl:"http://www.deskbrowse.org/",uaCompany:"Off Leash Developments, Inc",uaCompanyUrl:"http://offleashdevelopments.com/",uaIcon:"deskbrowse.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=DeskBrowse"}},258:{typeId:"20",metadata:{uaFamily:"Tulip Chain",uaUrl:Line truncated
|
||||
uaInfoUrl:"/list-of-ua/browser-detail?browser=Powermarks"}},374:{typeId:"15",metadata:{uaFamily:"Safari RSS reader",uaUrl:"http://www.apple.com/safari/",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Safari RSS reader"}},375:{typeId:"20",metadata:{uaFamily:"Google Friend Connect",uaUrl:"http://www.google.com/friendconnect/",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"google_friend_connect.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Google Friend Connect"}},376:{typeId:"15",metadata:{uaFamily:"Feed Viewer",uaUrl:"http://feedviewer.codeplex.com/",uaCompany:"vasek7",uaCompanyUrl:"http://www.codeplex.com/site/users/view/vasek7",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Feed Viewer"}},377:{typeId:"0",metadata:{uaFamily:"RockMelt",uaUrl:"http://www.rockmelt.com/",uaCompany:"Rockmelt, Inc.",uaCompanyUrl:"http://www.rockmelt.com/",uaIcon:"rockmelt.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=RockMelt"}},378:{typeId:"0",metadata:{uaFamily:"Epic",uaUrl:"http://www.epicbrowser.com/",uaCompany:"Hidden Reflex",uaCompanyUrl:"http://www.hiddenreflex.com/",uaIcon:"epic.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Epic"}},379:{typeId:"0",metadata:{uaFamily:"InternetSurfboard",uaUrl:"http://inetsurfboard.sourceforge.net/",uaCompany:"Philipp Ruppel",uaCompanyUrl:"",uaIcon:"internetSurfboard.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=InternetSurfboard"}},380:{typeId:"0",metadata:{uaFamily:"Vonkeror",uaUrl:"http://zzo38computer.cjb.net/vonkeror/",uaCompany:"zzo38",uaCompanyUrl:"http://zzo38computer.cjb.net/",uaIcon:"conkeror.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Vonkeror"}},381:{typeId:"15",metadata:{uaFamily:"IE RSS reader",uaUrl:"http://en.wikipedia.org/wiki/Windows_RSS_Platform",uaCompany:"Microsoft",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=IE RSS reader"}},382:{typeId:"15",metadata:{uaFamily:"Trileet NewsRoom",uaUrl:"http://feedmonger.blogspot.com/",uaCompany:"Trileet Inc.",uaCompanyUrl:"http://www.trileet.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Trileet NewsRoom"}},383:{typeId:"10",metadata:{uaFamily:"Validator.nu",uaUrl:"http://validator.nu/",uaCompany:"Henri Sivonen",uaCompanyUrl:"http://hsivonen.iki.fi/author/",uaIcon:"validator_nu.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Validator.nu"}},384:{typeId:"5",metadata:{uaFamily:"Zend_Http_Client",uaUrl:"http://framework.zend.com/manual/en/zend.http.html",uaCompany:"Zend Technologies Ltd.",uaCompanyUrl:"http://www.zend.com/",uaIcon:"zend_http_client.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Zend_Http_Client"}},385:{typeId:"3",metadata:{uaFamily:"Skyfire",uaUrl:"http://www.skyfire.com/",uaCompany:"Skyfire Labs, Inc.",uaCompanyUrl:"http://www.skyfire.com/about",uaIcon:"skyfire.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Skyfire"}},386:{typeId:"3",metadata:{uaFamily:"GO Browser",uaUrl:"http://www.gobrowser.cn/",uaCompany:"GO Dev Team",uaCompanyUrl:"",uaIcon:"go_browser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GO Browser"}},387:{typeId:"0",metadata:{uaFamily:"Surf",uaUrl:"http://surf.suckless.org/",uaCompany:"suckless.org",uaCompanyUrl:"http://suckless.org/",uaIcon:"surf.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Surf"}},388:{typeId:"20",metadata:{uaFamily:"iGooMap",uaUrl:"http://www.pointworks.de/software/igoomap/index.php",uaCompany:"PointWorks.de",uaCompanyUrl:"http://www.pointworks.de/",uaIcon:"igoomap.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=iGooMap"}},389:{typeId:"18",metadata:{uaFamily:"iTunes",uaUrl:"http://www.apple.com/itunes/",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"itunes.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=iTunes"}},390:{typeId:"0",metadata:{uaFamily:"BlackHawk",uaUrl:"http://www.netgate.sk/blackhawk/help/welcome-to-blackhawk-web-browser.html",uaCompany:"NETGATE Technologies s.r.o. ",uaCompanyUrl:"http://www.netgate.sk/",uaIcon:"blackhawk.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=BlackHawk"}},392:{typeId:"3",metadata:{uaFamily:"Kindle Browser",uaUrl:"http://en.wikipedia.org/wiki/Amazon_Kindle",uaCompany:"Amazon.com",uaCompanyUrl:"http://www.amazon.com/",uaIcon:"kindle.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Kindle Browser"}},393:{typeId:"20",metadata:{uaFamily:"Microsoft Office Existence Discovery",uaUrl:"http://blogs.msdn.com/b/vsofficedeveloper/archive/2008/03/11/office-existence-discovery-protocol.aspx",uaCompany:"Microsoft Corporation.",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"webdav.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Microsoft Office Existence Discovery"}},394:{typeId:"3",metadata:{uaFamily:"Mobile Safari",uaUrl:"http://en.wikipedia.org/wiki/Safari_%28web_browser%29",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"safari.png",uaInfoUrl:"/list-of-ua/browseLine truncated
|
||||
},58:{regexp:/libwww\-perl\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"51"},59:{regexp:/mozilla[\s\S]*Lunascape\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"52"},60:{regexp:/mozilla[\s\S]*Maxthon ([0-9a-z\+\-\.]+)/i,browserId:"53"},61:{regexp:/mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*MyIE2/i,browserId:"53"},62:{regexp:/mozilla[\s\S]*(rv:[0-9\.]+)[\s\S]*gecko\/[0-9]+[\s\S]*/i,browserId:"54"},63:{regexp:/mozilla[\s\S]*MultiZilla ([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"55"},64:{regexp:/mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*NetCaptor ([0-9a-z\+\-\.]+)/i,browserId:"56"},65:{regexp:/Netgem\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"57"},66:{regexp:/netsurf\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"58"},67:{regexp:/mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*Sleipnir\/([0-9a-z\+\-\.]+)/i,browserId:"59"},69:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*firefox\/([0-9a-z\+\-\.]+)[\s\S]*swiftfox/i,browserId:"61"},70:{regexp:/Teleport Pro\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"62"},77:{regexp:/sunrise[ \/]([0-9a-z\+\-\.\/]+)/i,browserId:"19"},78:{regexp:/mozilla[\s\S]*galeon\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"6"},79:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*\(KHTML, like Gecko\)$/i,browserId:"466"},80:{regexp:/Openwave/i,browserId:"32"},81:{regexp:/MSIE ([0-9a-z\+\-\.]+)[\s\S]*windows ce/i,browserId:"157"},82:{regexp:/mozilla[\s\S]*\/[0-9\.]+[\s\S]*gecko[\s\S]*firefox[\s\S]*/i,browserId:"3"},83:{regexp:/mozilla[\s\S]*(rv:[0-9\.]+)[\s\S]*/i,browserId:"54"},86:{regexp:/webcopier[\s\S]*v([0-9a-z\.]+)/i,browserId:"71"},89:{regexp:/MSIE[\s\S]*PhaseOut/i,browserId:"74"},94:{regexp:/^Mozilla[\s\S]*Thunderbird\/([0-9a-zA-Z\.]+)/i,browserId:"79"},95:{regexp:/^DoCoMo\//i,browserId:"33"},97:{regexp:/doris\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"81"},98:{regexp:/^Enigma browser$/i,browserId:"82"},100:{regexp:/lwp\-request\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"51"},102:{regexp:/Jakarta Commons-HttpClient\/([0-9a-zA-Z\.\-]+)/i,browserId:"85"},103:{regexp:/IBrowse/i,browserId:"31"},104:{regexp:/^curl ([0-9a-zA-Z\.\-]+)/i,browserId:"86"},105:{regexp:/Aweb[\s\S]*Amiga/i,browserId:"29"},106:{regexp:/amaya\/([0-9a-zA-Z\.\-+]+)/i,browserId:"87"},107:{regexp:/GetRight\/([0-9a-zA-Z\.\-\+]+)/i,browserId:"88"},108:{regexp:/^Mozilla[\s\S]*OmniWeb\/([1-9a-zA-z\.\-]+)/i,browserId:"18"},109:{regexp:/Mozilla[\s\S]*OffByOne/i,browserId:"89"},110:{regexp:/Python\-urllib\/([0-9a-zA-Z\.\-]+)/i,browserId:"90"},111:{regexp:/w3m\/([0-9a-zA-z\-\+\.]+)/i,browserId:"91"},113:{regexp:/^WebZIP\/([0-9a-zA-Z\.\-]+)/i,browserId:"93"},114:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Shiira\/([0-9a-zA-z\.\-]+)/i,browserId:"21"},115:{regexp:/ICEbrowser\/([0-9a-z_\.\-]+)/i,browserId:"94"},117:{regexp:/Blazer ([0-9\.]+)/i,browserId:"43"},118:{regexp:/Iceape\/([0-9a-zA-z\.\-]+)/i,browserId:"96"},120:{regexp:/Jakarta Commons\-HttpClient/i,browserId:"85"},122:{regexp:/HotJava\/([0-9a-zA-Z\.\- ]+)/i,browserId:"99"},123:{regexp:/JoBo\/([0-9a-z\.\-]+)/i,browserId:"100"},126:{regexp:/Sleipnir Version ([0-9a-z\.]+)/i,browserId:"59"},130:{regexp:/poe-component-client-http\/([0-9a-z\.\-]+)/i,browserId:"105"},137:{regexp:/snoopy v([1-9\.]+)/i,browserId:"111"},138:{regexp:/Lynx/i,browserId:"25"},139:{regexp:/libwww\-perl/i,browserId:"51"},141:{regexp:/NetFront([0-9a-z\.]+)[\s\S]*/i,browserId:"33"},143:{regexp:/^opera ([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"17"},147:{regexp:/NCSA_Mosaic\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"117"},149:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko[\s\S]*kapiko\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"119"},150:{regexp:/mozilla[\s\S]*chrome\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"120"},151:{regexp:/mozilla[\s\S]*applewebkit[\s\S]*AdobeAIR\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"121"},152:{regexp:/^lwp-trivial\/([0-9.]+)$/i,browserId:"122"},153:{regexp:/^WWW-Mechanize\/([0-9a-z\+\-\.]+)/i,browserId:"123"},155:{regexp:/^Xenu Link Sleuth ([0-9a-z\+\-\.]+)$/i,browserId:"124"},156:{regexp:/^SiteSucker\/([0-9a-z\.]+)/i,browserId:"125"},157:{regexp:/mozilla[\s\S]*applewebkit[\s\S]*arora\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"126"},160:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*Shiretoko\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"128"},161:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*Minefield\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"129"},162:{regexp:/mozilla[\s\S]*applewebkit[\s\S]*iron\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"130"},163:{regexp:/mozilla[\s\S][\s\S]*lobo\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"131"},164:{regexp:/^links \(([0-9a-z\.]+)[\s\S]*/i,browserId:"132"},165:{regexp:/mozilla[\s\S]*PlayStation\ Portable[\s\S]*/i,browserId:"33"},166:{regexp:/mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*Maxthon/i,browserId:"53"},167:{regexp:/Netbox\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"57"},169:{regexp:/^Mozilla\/(3\.0)[\s\S]*Sun\)$/i,browserId:"99"},170:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*fennec\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"133"},171:{regexp:/mozilla[\s\S]*Lotus-Notes\/([0-9a-z\+\-\.]+)[\s\S]*/i,browseLine truncated
|
||||
browserId:"433"},550:{regexp:/^python-requests\/([0-9\.]+)/i,browserId:"434"},551:{regexp:/^AtomicBrowser\/([0-9\.]+)[\s\S]*CFNetwork/i,browserId:"436"},552:{regexp:/^Reeder\/([0-9\.]+)[\s\S]*CFNetwork/i,browserId:"437"},553:{regexp:/^Mozilla[\s\S]*Mobile[\s\S]*rv[\s\S]*Gecko[\s\S]*Firefox\/([0-9\.]+)/i,browserId:"133"},554:{regexp:/Mozilla[\s\S]*Mac[\s\S]*rv[\s\S]*Gecko[\s\S]*Firefox\/([0-9a-b\.]+)[\s\S]*TenFourFox/i,browserId:"439"},555:{regexp:/^PEAR HTTP_Request class \( http:\/\/pear[\s\S]php[\s\S]net\/ \)/i,browserId:"440"},556:{regexp:/Mozilla[\s\S]*compatible[\s\S]*DPlus ([0-9\.]+)/i,browserId:"441"},557:{regexp:/^WordPress\/[0-9\.]+; http:\/\//i,browserId:"438"},558:{regexp:/Mozilla[\s\S]*Windows[\s\S]*Gecko[\s\S]*Firefox[\s\S]*AvantBrowser\/Tri-Core/i,browserId:"41"},559:{regexp:/Mozilla[\s\S]*AppleWebKit[\s\S]*zBrowser\/SpringSun-([0-9\.]+)/i,browserId:"442"},560:{regexp:/Mozilla[\s\S]*AppleWebKit[\s\S]*zBrowser\/NigtSky-([0-9\.]+)/i,browserId:"442"},561:{regexp:/Mozilla[\s\S]*AppleWebKit[\s\S]*KHTML[\s\S]*SlimBoat\/([0-9\.]+)/i,browserId:"443"},562:{regexp:/Opera[\s\S]*Opera Tablet[\s\S]*Presto[\s\S]*Version\/([0-9\.]+)/i,browserId:"321"},563:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome\/([0-9\.]+)[\s\S]*Mobile Safari/i,browserId:"423"},564:{regexp:/^Mozilla[\s\S]*iPhone[\s\S]*AppleWebKit[\s\S]*CriOS\/([0-9\.]+)[\s\S]*Mobile[\s\S]*Safari/i,browserId:"423"},565:{regexp:/^Mechanize\/([0-9\.]+)[\s\S]*Ruby[\s\S]*github[\s\S]com\/tenderlove\/mechanize/i,browserId:"445"},566:{regexp:/^htmlayout ([0-9\.]+)[\s\S]*Win[\s\S]*www\.terrainformatica\.com/i,browserId:"446"},567:{regexp:/^The Bat! Voyager ([0-9\.]+)$/i,browserId:"330"},568:{regexp:/^Mozilla[\s\S]*MSIE[\s\S]*Windows[\s\S]*SaaYaa/i,browserId:"447"},569:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Qt\/[0-9\.]+[\s\S]*Ryouko\/([0-9\.]+)[\s\S]*Safari/i,browserId:"448"},570:{regexp:/^Anemone\/([0-9\.]+)$/i,browserId:"449"},571:{regexp:/^Mozilla[\s\S]*OS X[\s\S]*AppleWebKit[\s\S]*KHTML[\s\S]*Sparrow\/([0-9\.]+)/i,browserId:"450"},572:{regexp:/^SubStream\/([0-9\.]+)[\s\S]* CFNetwork/i,browserId:"451"},573:{regexp:/^Mozilla[\s\S]*iPad[\s\S]*AppleWebKit[\s\S]*CriOS\/([0-9\.]+)[\s\S]*Mobile[\s\S]*Safari/i,browserId:"423"},574:{regexp:/^Barca\/([0-9\.]+)/i,browserId:"452"},575:{regexp:/^BarcaPro\/([0-9\.]+)/i,browserId:"452"},576:{regexp:/A1 Sitemap Generator\/([0-9\.]+)[\s\S]*microsystools[\s\S]com/i,browserId:"453"},577:{regexp:/^Mozilla[\s\S]*Playstation Vita[\s\S]*AppleWebKit[\s\S]*Silk\/([0-9\.]+)/i,browserId:"454"},578:{regexp:/^MQQBrowser\/([0-9\.]+)/i,browserId:"455"},579:{regexp:/^MQQBrowser\/(Mini[0-9\.]+)/i,browserId:"455"},580:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*Beamrise\/([0-9\.]+)/i,browserId:"456"},581:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Beamrise\/([0-9\.]+)[\s\S]*Chrome/i,browserId:"456"},582:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*YaBrowser\/([0-9\.]+)/i,browserId:"457"},583:{regexp:/^Mozilla[\s\S]*Silk\/([0-9\.\-]+)[\s\S]*safari/i,browserId:"458"},584:{regexp:/^Apache-HttpClient\/([0-9\.]+)/i,browserId:"459"},585:{regexp:/^Mozilla.*Nintendo WiiU.*AppleWebKit.*NX.*NintendoBrowser\/([0-9\.]+)/,browserId:"460"},586:{regexp:/^DellWebMonitor\/([0-9\.]+)/,browserId:"461"},587:{regexp:/^FeedDemon\/([0-9\.]+)[\s\S]*(www\.feeddemon\.com|www\.newsgator\.com)/i,browserId:"462"},588:{regexp:/^XMLRPC::Client \(Ruby ([0-9\.]+)\)$/i,browserId:"463"},589:{regexp:/^PocomailPE\/([0-9\.]+)/i,browserId:"356"},590:{regexp:/Pattern\/([0-9\.]+)[\s\S]*[\s\S]clips\.ua\.ac\.be\/pages\/pattern/i,browserId:"464"},592:{regexp:/^Eudora\/?([0-9a-z\.]+)*/i,browserId:"465"},593:{regexp:/^Mozilla[\s\S]*Windows[\s\S]*Gecko[\s\S]*Polarity\/([0-9\.]+)/i,browserId:"467"},594:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Superbird\/([0-9\.]+)/i,browserId:"468"},595:{regexp:/^Microsoft Office\/14[\s\S]*Microsoft Outlook 14/i,browserId:"326"},596:{regexp:/mozilla[\s\S]*AppleWebKit[\s\S]*NetFrontLifeBrowser\/([0-9\.]+)/i,browserId:"469"},597:{regexp:/mozilla[\s\S]*applewebkit[\s\S]*\/[0-9a-z\+\-\.]+[\s\S]*version\/([0-9a-z\+\-\.]+)[\s\S]*safari\/[0-9a-z\+\-\.]+[\s\S]*/i,browserId:"22"},598:{regexp:/^Mozilla[\s\S]*ASUS Transformer Pad[\s\S]*AppleWebKit[\s\S]*Chrome\/([0-9\.]+)[\s\S]*Safari/i,browserId:"423"},599:{regexp:/^Mozilla[\s\S]*Android[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*OPR\/([0-9\.]+)/i,browserId:"321"},600:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*YRCWeblink\/([0-9\.]+)[\s\S]*Safari/i,browserId:"470"},601:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*OPR\/([0-9\.]+)/i,browserId:"17"},602:{regexp:/Mozilla[\s\S]*Gecko[\s\S]*Firefox[\s\S]*IceDragon\/([0-9\.]+)/i,browserId:"471"},603:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*YaBrowser\/([0-9\.]+)[\s\S]*Chrome/i,browserId:"457"},604:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*Safari[\s\S]*Midori\/([0-9\.]+)/i,browserId:"148"},605:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Dooble\/([0-9\.]+)[\s\S]*Safari/i,browserId:"269"},606:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Line truncated
|
||||
lineNumber:tb,lineStart:ub,start:e,end:sb}):(b=c.substr(0,2),g===b[1]&&"+-<>&|".indexOf(g)>=0||"=>"===b?(sb+=2,{type:ib.Punctuator,value:b,lineNumber:tb,lineStart:ub,start:e,end:sb}):"<>=!+-*%&|^/".indexOf(g)>=0?(++sb,{type:ib.Punctuator,value:g,lineNumber:tb,lineStart:ub,start:e,end:sb}):void S({},ob.UnexpectedToken,"ILLEGAL")))}function x(a){for(var b="";sb<vb&&d(qb[sb]);)b+=qb[sb++];return 0===b.length&&S({},ob.UnexpectedToken,"ILLEGAL"),h(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.NumericLiteral,value:parseInt("0x"+b,16),lineNumber:tb,lineStart:ub,start:a,end:sb}}function y(a){for(var b="0"+qb[sb++];sb<vb&&e(qb[sb]);)b+=qb[sb++];return(h(qb.charCodeAt(sb))||c(qb.charCodeAt(sb)))&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.NumericLiteral,value:parseInt(b,8),octal:!0,lineNumber:tb,lineStart:ub,start:a,end:sb}}function z(){var a,d,f;if(f=qb[sb],b(c(f.charCodeAt(0))||"."===f,"Numeric literal must start with a decimal digit or a decimal point"),d=sb,a="","."!==f){if(a=qb[sb++],f=qb[sb],"0"===a){if("x"===f||"X"===f)return++sb,x(d);if(e(f))return y(d);f&&c(f.charCodeAt(0))&&S({},ob.UnexpectedToken,"ILLEGAL")}for(;c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if("."===f){for(a+=qb[sb++];c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if("e"===f||"E"===f)if(a+=qb[sb++],f=qb[sb],"+"!==f&&"-"!==f||(a+=qb[sb++]),c(qb.charCodeAt(sb)))for(;c(qb.charCodeAt(sb));)a+=qb[sb++];else S({},ob.UnexpectedToken,"ILLEGAL");return h(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.NumericLiteral,value:parseFloat(a),lineNumber:tb,lineStart:ub,start:d,end:sb}}function A(){var a,c,d,f,h,i,j,k,l="",m=!1;for(j=tb,k=ub,a=qb[sb],b("'"===a||'"'===a,"String literal must starts with a quote"),c=sb,++sb;sb<vb;){if(d=qb[sb++],d===a){a="";break}if("\\"===d)if(d=qb[sb++],d&&g(d.charCodeAt(0)))++tb,"\r"===d&&"\n"===qb[sb]&&++sb,ub=sb;else switch(d){case"u":case"x":"{"===qb[sb]?(++sb,l+=s()):(i=sb,h=r(d),h?l+=h:(sb=i,l+=d));break;case"n":l+="\n";break;case"r":l+="\r";break;case"t":l+="\t";break;case"b":l+="\b";break;case"f":l+="\f";break;case"v":l+="\v";break;default:e(d)?(f="01234567".indexOf(d),0!==f&&(m=!0),sb<vb&&e(qb[sb])&&(m=!0,f=8*f+"01234567".indexOf(qb[sb++]),"0123".indexOf(d)>=0&&sb<vb&&e(qb[sb])&&(f=8*f+"01234567".indexOf(qb[sb++]))),l+=String.fromCharCode(f)):l+=d}else{if(g(d.charCodeAt(0)))break;l+=d}}return""!==a&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.StringLiteral,value:l,octal:m,startLineNumber:j,startLineStart:k,lineNumber:tb,lineStart:ub,start:c,end:sb}}function B(a,b){var c;try{c=new RegExp(a,b)}catch(a){S({},ob.InvalidRegExp)}return c}function C(){var a,c,d,e,f;for(a=qb[sb],b("/"===a,"Regular expression literal must start with a slash"),c=qb[sb++],d=!1,e=!1;sb<vb;)if(a=qb[sb++],c+=a,"\\"===a)a=qb[sb++],g(a.charCodeAt(0))&&S({},ob.UnterminatedRegExp),c+=a;else if(g(a.charCodeAt(0)))S({},ob.UnterminatedRegExp);else if(d)"]"===a&&(d=!1);else{if("/"===a){e=!0;break}"["===a&&(d=!0)}return e||S({},ob.UnterminatedRegExp),f=c.substr(1,c.length-2),{value:f,literal:c}}function D(){var a,b,c,d;for(b="",c="";sb<vb&&(a=qb[sb],i(a.charCodeAt(0)));)if(++sb,"\\"===a&&sb<vb)if(a=qb[sb],"u"===a){if(++sb,d=sb,a=r("u"))for(c+=a,b+="\\u";d<sb;++d)b+=qb[d];else sb=d,c+="u",b+="\\u";T({},ob.UnexpectedToken,"ILLEGAL")}else b+="\\",T({},ob.UnexpectedToken,"ILLEGAL");else c+=a,b+=a;return{value:c,literal:b}}function E(){var a,b,c,d;return wb=null,q(),a=sb,b=C(),c=D(),d=B(b.value,c.value),yb.tokenize?{type:ib.RegularExpression,value:d,lineNumber:tb,lineStart:ub,start:a,end:sb}:{literal:b.literal+c.literal,value:d,start:a,end:sb}}function F(){var a,b,c,d;return q(),a=sb,b={start:{line:tb,column:sb-ub}},c=E(),b.end={line:tb,column:sb-ub},yb.tokenize||(yb.tokens.length>0&&(d=yb.tokens[yb.tokens.length-1],d.range[0]===a&&"Punctuator"===d.type&&("/"!==d.value&&"/="!==d.value||yb.tokens.pop())),yb.tokens.push({type:"RegularExpression",value:c.literal,range:[a,sb],loc:b})),c}function G(a){return a.type===ib.Identifier||a.type===ib.Keyword||a.type===ib.BooleanLiteral||a.type===ib.NullLiteral}function H(){var a,b;if(a=yb.tokens[yb.tokens.length-1],!a)return F();if("Punctuator"===a.type){if("]"===a.value)return w();if(")"===a.value)return b=yb.tokens[yb.openParenToken-1],!b||"Keyword"!==b.type||"if"!==b.value&&"while"!==b.value&&"for"!==b.value&&"with"!==b.value?w():F();if("}"===a.value){if(yb.tokens[yb.openCurlyToken-3]&&"Keyword"===yb.tokens[yb.openCurlyToken-3].type){if(b=yb.tokens[yb.openCurlyToken-4],!b)return w()}else{if(!yb.tokens[yb.openCurlyToken-4]||"Keyword"!==yb.tokens[yb.openCurlyToken-4].type)return w();if(b=yb.tokens[yb.openCurlyToken-5],!b)return F()}return kb.indexOf(b.value)>=0?w():F()}return F()}return"Keyword"===a.type?F():w()}function I(){var a;return q(),sb>=vb?{type:ib.EOF,lineNumber:tb,lineStart:ub,start:sb,end:sb}:(a=qb.charCodeAt(sb),h(a)?v():40===a||41===a||59===a?w():39===a||34===a?A():46===a?c(qb.charCodeAt(sb+1))?z():w():c(a)?z():yb.tokenize&&47===a?H():w())}function J(){var a,b,c;return q(),a={sLine truncated
|
||||
NonAsciiIdentifierPart:new RegExp("[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0-\u08b2\u08e4-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d01-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1cf8\u1cf9\u1d00-\u1df5\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua69d\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2d\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uffLine truncated
|
||||
precedence:N.Sequence,allowIn:!0,allowCall:!0}),")"):e.push(")")}),e.push(C(a.body,""===l));break;case M.ForInStatement:e=["for"+aa+"("],w(function(){a.left.type===M.VariableDeclaration?w(function(){e.push(a.left.kind+" ",H(a.left.declarations[0],{allowIn:!1}))}):e.push(G(a.left,{precedence:N.Call,allowIn:!0,allowCall:!0})),e=u(e,"in"),e=[u(e,G(a.right,{precedence:N.Sequence,allowIn:!0,allowCall:!0})),")"]}),e.push(C(a.body,""===l));break;case M.LabeledStatement:e=[a.label.name+":",C(a.body,""===l)];break;case M.Program:for(d=a.body.length,e=[da&&d>0?"\n":""],c=0;c<d;c+=1)k=v(H(a.body[c],{semicolonOptional:!da&&c===d-1,directiveContext:!0})),e.push(k),c+1<d&&!i(t(k).toString())&&e.push(_);break;case M.FunctionDeclaration:e=[(a.generator&&!fa.moz.starlessGenerator?"function* ":"function ")+a.id.name,F(a)];break;case M.ReturnStatement:e=a.argument?[u("return",G(a.argument,{precedence:N.Sequence,allowIn:!0,allowCall:!0})),l]:["return"+l];break;case M.WhileStatement:w(function(){e=["while"+aa+"(",G(a.test,{precedence:N.Sequence,allowIn:!0,allowCall:!0}),")"]}),e.push(C(a.body,""===l));break;case M.WithStatement:w(function(){e=["with"+aa+"(",G(a.object,{precedence:N.Sequence,allowIn:!0,allowCall:!0}),")"]}),e.push(C(a.body,""===l));break;default:throw new Error("Unknown statement type: "+a.type)}return fa.comment&&(e=A(a,e)),k=t(e).toString(),a.type!==M.Program||da||""!==_||"\n"!==k.charAt(k.length-1)||(e=t(e).replaceRight(/\s+$/,"")),t(e,a)}function I(d,h){var i,j,l=b();switch(null!=h?("string"==typeof h.indent&&(l.format.indent.style=h.indent),"number"==typeof h.base&&(l.format.indent.base=h.base),h=k(l,h),V=h.format.indent.style,U="string"==typeof h.base?h.base:e(V,h.format.indent.base)):(h=l,V=h.format.indent.style,U=e(V,h.format.indent.base)),W=h.format.json,X=h.format.renumber,Y=!W&&h.format.hexadecimal,Z=W?"double":h.format.quotes,$=h.format.escapeless,h.format.compact?_=aa=V=U="":(_="\n",aa=" "),ba=h.format.parentheses,ca=h.format.semicolons,da=h.format.safeConcatenation,ea=h.directive,ga=W?null:h.parse,ha=h.sourceMap,fa=h,S=ha?c.browser?g.sourceMap.SourceNode:a("source-map").SourceNode:f,d.type){case M.BlockStatement:case M.BreakStatement:case M.CatchClause:case M.ContinueStatement:case M.DirectiveStatement:case M.DoWhileStatement:case M.DebuggerStatement:case M.EmptyStatement:case M.ExpressionStatement:case M.ForStatement:case M.ForInStatement:case M.FunctionDeclaration:case M.IfStatement:case M.LabeledStatement:case M.Program:case M.ReturnStatement:case M.SwitchStatement:case M.SwitchCase:case M.ThrowStatement:case M.TryStatement:case M.VariableDeclaration:case M.VariableDeclarator:case M.WhileStatement:case M.WithStatement:i=H(d);break;case M.AssignmentExpression:case M.ArrayExpression:case M.ArrayPattern:case M.BinaryExpression:case M.CallExpression:case M.ConditionalExpression:case M.FunctionExpression:case M.Identifier:case M.Literal:case M.LogicalExpression:case M.MemberExpression:case M.NewExpression:case M.ObjectExpression:case M.ObjectPattern:case M.Property:case M.SequenceExpression:case M.ThisExpression:case M.UnaryExpression:case M.UpdateExpression:case M.YieldExpression:i=G(d,{precedence:N.Sequence,allowIn:!0,allowCall:!0});break;default:throw new Error("Unknown node type: "+d.type)}return ha?(j=i.toStringWithSourceMap({file:h.sourceMap,sourceRoot:h.sourceMapRoot}),h.sourceMapWithCode?j:j.map.toString()):i.toString()}function J(a,b){var c,d,e,f;for(d=a.length,e=0;d;)c=d>>>1,f=e+c,b(a[f])?d=c:(e=f+1,d-=c+1);return e}function K(a,b){var c,d;return c=J(b,function(b){return b.range[0]>a.range[0]}),a.extendedRange=[a.range[0],a.range[1]],c!==b.length&&(a.extendedRange[1]=b[c].range[0]),c-=1,c>=0&&(c<b.length?a.extendedRange[0]=b[c].range[1]:d.length&&(a.extendedRange[1]=b[b.length-1].range[0])),a}function L(a,b,c){var d,e,f,g=[];if(!a.range)throw new Error("attachComments needs range information");if(!c.length){if(b.length){for(f=0,e=b.length;f<e;f+=1)d=j(b[f]),d.extendedRange=[0,a.range[0]],g.push(d);a.leadingComments=g}return a}for(f=0,e=b.length;f<e;f+=1)g.push(K(j(b[f]),c));return ia(a,{cursor:0,enter:function(a){for(var b;this.cursor<g.length&&(b=g[this.cursor],!(b.extendedRange[1]>a.range[0]));)b.extendedRange[1]===a.range[0]?(a.leadingComments||(a.leadingComments=[]),a.leadingComments.push(b),g.splice(this.cursor,1)):this.cursor+=1;return this.cursor===g.length?R.Break:g[this.cursor].extendedRange[0]>a.range[1]?R.Skip:void 0}}),ia(a,{cursor:0,leave:function(a){for(var b;this.cursor<g.length&&(b=g[this.cursor],!(a.range[1]<b.extendedRange[0]));)a.range[1]===b.extendedRange[0]?(a.trailingComments||(a.trailingComments=[]),a.trailingComments.push(b),g.splice(this.cursor,1)):this.cursor+=1;return this.cursor===g.length?R.Break:g[this.cursor].extendedRange[0]>a.range[1]?R.Skip:void 0}}),a}var M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia;ia=a("estraverse").traverse,M={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",BlockStLine truncated
|
||||
NonAsciiIdentifierPart:new RegExp("[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff4Line truncated
|
||||
a.call(b,this.__data[c],d,this))},c.prototype.keys=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push(a.substring(1));return b},c.prototype.values=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push(this.__data[a]);return b},c.prototype.items=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push([a.substring(1),this.__data[a]]);return b}),b.exports=c}()}),b.define("/lib/pass/remove-unreachable-branch.js",function(a,c,d,e){!function(c,d,e,f,g,h){function i(a,b){var c,f,i;if(c=g.booleanCondition(b.test),b.alternate){if("boolean"==typeof c)return h=!0,f=[],c?(i=e.delegateVariableDeclarations(b.alternate,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.consequent),{type:d.BlockStatement,body:f}):(i=e.delegateVariableDeclarations(b.consequent,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.alternate),{type:d.BlockStatement,body:f})}else if("boolean"==typeof c)return h=!0,f=[],c?(f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.consequent),{type:d.BlockStatement,body:f}):(i=e.delegateVariableDeclarations(b.consequent,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test})),{type:d.BlockStatement,body:f})}function j(a,b){var c;return c=g.booleanCondition(b.left),"boolean"==typeof c?(h=!0,c?"&&"===b.operator?e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.left,b.right]}):b.left:"&&"===b.operator?b.left:e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.left,b.right]})):void 0}function k(a,b){var c;return c=g.booleanCondition(b.test),"boolean"==typeof c?(h=!0,c?e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.test,b.consequent]}):e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.test,b.alternate]})):void 0}function l(a,b){var g,l;return g=b.get("destructive",{pathName:c})?a:e.deepCopy(a),h=!1,l=[],g=e.replace(g,{enter:function(a){var b;if(f.Scope.isVariableScopeRequired(a))return void l.push(a);switch(b=e.Array.last(l),a.type){case d.IfStatement:return i(b,a);case d.LogicalExpression:return j(b,a);case d.ConditionalExpression:return k(b,a)}},leave:function(a){f.Scope.isVariableScopeRequired(a)&&l.pop()}}),{result:g,modified:h}}c="remove-unreachable-branch",f=b("/node_modules/escope/escope.js",a),e=b("/lib/common.js",a),g=b("/lib/evaluator.js",a),d=e.Syntax,l.passName=c,a.exports=l}()}),b.define("/lib/evaluator.js",function(a,c,d,e){!function(d,e){function f(a,b){return a.type===d.Literal?"object"!=typeof a.value||null===a.value||b:a.type===d.UnaryExpression?"void"===a.operator||"delete"===a.operator||"!"===a.operator?f(a.argument,!0):f(a.argument,!1):a.type===d.BinaryExpression?"in"!==a.operator&&"instanceof"!==a.operator&&(f(a.left,!1)&&f(a.right,!1)):a.type===d.LogicalExpression&&(f(a.left,!0)&&f(a.right,!0))}function g(a){return a.type===d.Literal?a.value:a.type===d.UnaryExpression?i(a.operator,g(a.argument)):a.type===d.BinaryExpression?j(a.operator,g(a.left),g(a.right)):a.type===d.LogicalExpression?h(a.operator,g(a.left),g(a.right)):void e.unreachable()}function h(a,b,c){return"||"===a?b||c:"&&"===a?b&&c:void e.unreachable()}function i(a,b){switch(a){case"+":return+b;case"-":return-b;case"~":return~b;case"!":return!b;case"delete":return!0;case"void":return;case"typeof":return typeof b}e.unreachable()}function j(a,b,c){switch(a){case"|":return b|c;case"^":return b^c;case"&":return b&c;case"==":return b==c;case"!=":return b!=c;case"===":return b===c;case"!==":return b!==c;case"<":return b<c;case">":return b>c;case"<=":return b<=c;case">=":return b>=c;case"<<":return b<<c;case">>":return b>>c;case">>>":return b>>>c;case"+":return b+c;case"-":return b-c;case"*":return b*c;case"/":return b/c;case"%":return b%c}e.unreachable()}function k(a,b){function c(a){var e,g,h;switch(a.type){case d.AssignmentExpression:return!0;case d.ArrayExpression:for(e=0,g=a.elements.length;e<g;++e)if(c(a.elements[e]))return!0;return!1;case d.BinaryExpression:return!f(a);case d.CallExpression:return!0;case d.ConditionalExpression:return c(a.test)||c(a.consequent)||c(a.alternate);case d.FunctionExpression:return!1;case d.Identifier:return h=b.resolve(a),!h||!h.isStatic();case d.Literal:return!1;case d.LogicalExpression:return c(a.left)||c(a.right);case d.MemberExpression:return!0;case d.NewExpression:return!0;case d.ObjectExpression:for(e=0,g=a.properties.length;e<g;++e)if(c(a.properties[e]))return!0;return!1;case d.Property:return c(a.value);case d.SequenceExpression:for(e=0,g=a.expressions.length;e<g;++e)if(c(a.expressions[e]))return!0;return!1;case d.ThisExpression:return!1;case d.UnaryExpression:return"void"===a.operator||"delete"===a.operator||"typeof"===a.operator||"!"===a.operator?c(a.argument):!f(a);case d.UpdateExpression:return!0}return!0}return c(a)}function l(a){var b;switch(a.type){case d.AssignmentExpression:return l(a.right);case d.ArrayExpreLine truncated
|
||||
h.init&&g.push(h.init),1===g.length?h.init=g[0]:h.init={type:d.SequenceExpression,expressions:g},g=[]),j.push(h));g.length&&j.push(b(g,h)),a.body=j}function h(a,b){var h;return f=!1,h=b.get("destructive",{pathName:c})?a:e.deepCopy(a),e.traverse(h,{enter:function(a){switch(a.type){case d.BlockStatement:case d.Program:g(a)}}}),{result:h,modified:f}}c="transform-to-sequence-expression",e=b("/lib/common.js",a),d=e.Syntax,h.passName=c,a.exports=h}()}),b.define("/lib/pass/transform-to-compound-assignment.js",function(a,c,d,e){!function(c,d,e,f,g){function h(a,b){return a.type===b.type&&(a.type===d.Identifier&&a.name===b.name)}function i(a){switch(a){case"*":case"/":case"%":case"+":case"-":case"<<":case">>":case">>>":case"&":case"^":case"|":return a+"="}return null}function j(a){switch(a){case"*=":case"/=":case"%=":case"+=":case"-=":case"<<=":case">>=":case">>>=":case"&=":case"^=":case"|=":return a}return null}function k(a,b){var k,l,m;return k=b.get("destructive",{pathName:c})?a:e.deepCopy(a),g=!1,l=null,m=f.analyze(k,{directive:!0}),m.attach(),e.traverse(k,{enter:function(a){var b,c,e,f;l=m.acquire(a)||l,a.type===d.AssignmentExpression&&"="===a.operator&&(b=a.left,c=a.right,c.type===d.BinaryExpression&&h(c.left,b)?(e=i(c.operator),e&&(g=!0,a.operator=e,a.right=c.right)):c.type===d.AssignmentExpression&&h(c.left,b)&&j(c.operator)&&(f=l.resolve(a.left),f.isStatic()&&(g=!0,a.operator=c.operator,a.right=c.right)))},leave:function(a){l=m.release(a)||l}}),m.detach(),{result:k,modified:g}}c="transform-to-compound-assignment",f=b("/node_modules/escope/escope.js",a),e=b("/lib/common.js",a),d=e.Syntax,k.passName=c,a.exports=k}()}),b.define("/lib/pass/remove-wasted-blocks.js",function(a,c,d,e){!function(c,d,e,f){function g(a){var b,c,g,h,i,j,k,l;for(i=[],b=0,c=a.length;b<c;++b)if(j=a[b],j.type===d.BlockStatement){for(l=!0,g=0,h=j.body.length;g<h;++g)k=j.body[g],e.isScopedDeclaration(k)&&(l=!1);l?(f=!0,i=i.concat(j.body)):i.push(j)}else i.push(j);return i}function h(a,b){var h;return h=b.get("destructive",{pathName:c})?a:e.deepCopy(a),f=!1,h=e.replace(h,{leave:function(a,b){var c,h,i;if(a.type===d.BlockStatement||a.type===d.Program)for(c=0,h=a.body.length;c<h;++c)if(i=a.body[c],i.type===d.BlockStatement){a.body=g(a.body);break}if(b.type!==d.FunctionDeclaration&&b.type!==d.FunctionExpression&&b.type!==d.TryStatement&&b.type!==d.CatchClause){for(;a.type===d.BlockStatement&&1===a.body.length&&!e.isScopedDeclaration(a.body[0]);)f=!0,a=a.body[0];return a.type===d.BlockStatement&&0===a.body.length?(f=!0,{type:d.EmptyStatement}):a}}}),{result:h,modified:f}}c="remove-wasted-blocks",e=b("/lib/common.js",a),d=e.Syntax,h.passName=c,a.exports=h}()}),b.define("/lib/pass/remove-empty-statement.js",function(a,c,d,e){!function(c,d,e,f){function g(a){var b,c,e,g;for(g=[],b=0,c=a.length;b<c;++b)e=a[b],e.type===d.EmptyStatement?f=!0:g.push(e);return g}function h(a){a.alternate&&(a.alternate.type===d.EmptyStatement?(f=!0,a.alternate=null):a.consequent.type===d.EmptyStatement&&(f=!0,a.consequent=a.alternate,a.alternate=null,a.test=e.moveLocation(a.test,{type:d.UnaryExpression,operator:"!",argument:a.test})))}function i(a,b){var i;return f=!1,i=b.get("destructive",{pathName:c})?a:e.deepCopy(a),e.traverse(i,{enter:function(a){var b;switch(a.type){case d.BlockStatement:case d.Program:a.body=g(a.body);break;case d.SwitchCase:a.consequent=g(a.consequent);break;case d.IfStatement:h(a);break;case d.SwitchStatement:a.cases.length&&(b=e.Array.last(a.cases),!b.test&&e.Array.empty(b.consequent)&&(f=!0,a.cases.pop()))}}}),{result:i,modified:f}}c="remove-empty-statement",e=b("/lib/common.js",a),d=e.Syntax,i.passName=c,a.exports=i}()}),b.define("/lib/pass/remove-unused-label.js",function(a,c,d,e){!function(c,d,e,f,g,h){function i(a){this.set=new e,this.unused=[],this.upper=a}function j(a,b){var e;return e=b.get("destructive",{pathName:c})?a:f.deepCopy(a),g=null,h=!1,e=f.replace(e,{enter:function(a){switch(a.type){case d.Program:case d.FunctionDeclaration:case d.FunctionExpression:g=new i(g);break;case d.LabeledStatement:g.register(a);break;case d.BreakStatement:case d.ContinueStatement:g.resolve(a)}},leave:function(a){var b;return b=g.unregister(a),(a.type===d.Program||a.type===d.FunctionDeclaration||a.type===d.FunctionExpression)&&(g=g.close()),b}}),{result:e,modified:h}}c="remove-unused-label",f=b("/lib/common.js",a),e=b("/lib/map.js",a),d=f.Syntax,i.prototype.register=function(a){var b;f.assert(a.type===d.LabeledStatement),b=a.label.name,f.assert(!this.set.has(b),"duplicate label is found"),this.set.set(b,{used:!1,stmt:a})},i.prototype.unregister=function(a){var b,c;return a.type!==d.LabeledStatement||(b=a.label.name,c=this.set.get(b),this.set.delete(b),c.used)?a:(h=!0,a.body)},i.prototype.resolve=function(a){var b;a.label&&(b=a.label.name,f.assert(this.set.has(b),"unresolved label"),this.set.get(b).used=!0)},i.prototype.close=function(){return this.upper},j.passName=c,a.exports=j}()}),b.define("/lib/pass/reordering-function-declarations.js",function(a,cLine truncated
|
||||
a?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex}function ba(a){return this._monthsParseExact?(f(this,"_monthsRegex")||ca.call(this),a?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex}function ca(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)c=h([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=R(d[b]),e[b]=R(e[b]),f[b]=R(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")$","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")$","i")}function da(a){var b,c=a._a;return c&&j(a).overflow===-2&&(b=c[wd]<0||c[wd]>11?wd:c[xd]<1||c[xd]>V(c[vd],c[wd])?xd:c[yd]<0||c[yd]>24||24===c[yd]&&(0!==c[zd]||0!==c[Ad]||0!==c[Bd])?yd:c[zd]<0||c[zd]>59?zd:c[Ad]<0||c[Ad]>59?Ad:c[Bd]<0||c[Bd]>999?Bd:-1,j(a)._overflowDayOfYear&&(b<vd||b>xd)&&(b=xd),j(a)._overflowWeeks&&b===-1&&(b=Cd),j(a)._overflowWeekday&&b===-1&&(b=Dd),j(a).overflow=b),a}function ea(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function fa(a,b){var c=!0;return g(function(){return c&&(ea(a+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ga(a,b){Jd[a]||(ea(b),Jd[a]=!0)}function ha(a){var b,c,d,e,f,g,h=a._i,i=Kd.exec(h)||Ld.exec(h);if(i){for(j(a).iso=!0,b=0,c=Nd.length;b<c;b++)if(Nd[b][1].exec(i[1])){e=Nd[b][0],d=Nd[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Od.length;b<c;b++)if(Od[b][1].exec(i[3])){f=(i[2]||" ")+Od[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Md.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),wa(a)}else a._isValid=!1}function ia(b){var c=Pd.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(ha(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ja(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ka(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function la(a){return ma(a)?366:365}function ma(a){return a%4===0&&a%100!==0||a%400===0}function na(){return ma(this.year())}function oa(a,b,c){var d=7+b-c,e=(7+ka(a,0,d).getUTCDay()-b)%7;return-e+d-1}function pa(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=oa(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=la(f)+j):j>la(a)?(f=a+1,g=j-la(a)):(f=a,g=j),{year:f,dayOfYear:g}}function qa(a,b,c){var d,e,f=oa(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+ra(e,b,c)):g>ra(a.year(),b,c)?(d=g-ra(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function ra(a,b,c){var d=oa(a,b,c),e=oa(a+1,b,c);return(la(a)-d+e)/7}function sa(a,b,c){return null!=a?a:null!=b?b:c}function ta(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function ua(a){var b,c,d,e,f=[];if(!a._d){for(d=ta(a),a._w&&null==a._a[xd]&&null==a._a[wd]&&va(a),a._dayOfYear&&(e=sa(a._a[vd],d[vd]),a._dayOfYear>la(e)&&(j(a)._overflowDayOfYear=!0),c=ka(e,0,a._dayOfYear),a._a[wd]=c.getUTCMonth(),a._a[xd]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[yd]&&0===a._a[zd]&&0===a._a[Ad]&&0===a._a[Bd]&&(a._nextDay=!0,a._a[yd]=0),a._d=(a._useUTC?ka:ja).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[yd]=24)}}function va(a){var b,c,d,e,f,g,h,i;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=sa(b.GG,a._a[vd],qa(Ea(),1,4).year),d=sa(b.W,1),e=sa(b.E,1),(e<1||e>7)&&(i=!0)):(f=a._locale._week.dow,g=a._locale._week.doy,c=sa(b.gg,a._a[vd],qa(Ea(),f,g).year),d=sa(b.w,1),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f),d<1||d>ra(c,f,g)?j(a)._overflowWeeks=!0:null!=i?j(a)._overflowWeekday=!0:(h=pa(c,d,e,f,g),a._a[vd]=h.year,a._dayOfYear=h.dayOfYear)}function wa(b){if(b._f===a.ISO_8601)return void ha(b);b._a=[],j(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,k=0;for(e=N(b._f,b._locale).match($c)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(P(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&j(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),k+=d.length),bd[f]?(d?j(b).empty=!1:j(b).unusedTokens.push(f),U(f,d,b)):b._strict&&!d&&j(b).unusedTokens.push(f);j(b).charsLeftOver=i-k,h.length>0&&j(b).unusedInput.push(h),j(b).bigHour===!0&&b._a[yd]<=12&&b._a[yd]>0&&(j(b).bigHour=void 0),b._a[yd]=xa(b._locale,b._a[yd],b._meridiem),ua(b),Line truncated
|
||||
re.monthsParse=Y,re._monthsRegex=Id,re.monthsRegex=ba,re._monthsShortRegex=Hd,re.monthsShortRegex=aa,re.week=Qb,re._week=$d,re.firstDayOfYear=Sb,re.firstDayOfWeek=Rb,re.weekdays=Wb,re._weekdays=ae,re.weekdaysMin=Yb,re._weekdaysMin=ce,re.weekdaysShort=Xb,re._weekdaysShort=be,re.weekdaysParse=Zb,re.isPM=fc,re._meridiemParse=de,re.meridiem=gc,x("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===r(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=fa("moment.lang is deprecated. Use moment.locale instead.",x),a.langData=fa("moment.langData is deprecated. Use moment.localeData instead.",z);var se=Math.abs,te=Lc("ms"),ue=Lc("s"),ve=Lc("m"),we=Lc("h"),xe=Lc("d"),ye=Lc("w"),ze=Lc("M"),Ae=Lc("y"),Be=Nc("milliseconds"),Ce=Nc("seconds"),De=Nc("minutes"),Ee=Nc("hours"),Fe=Nc("days"),Ge=Nc("months"),He=Nc("years"),Ie=Math.round,Je={s:45,m:45,h:22,d:26,M:11},Ke=Math.abs,Le=Ia.prototype;Le.abs=Bc,Le.add=Dc,Le.subtract=Ec,Le.as=Jc,Le.asMilliseconds=te,Le.asSeconds=ue,Le.asMinutes=ve,Le.asHours=we,Le.asDays=xe,Le.asWeeks=ye,Le.asMonths=ze,Le.asYears=Ae,Le.valueOf=Kc,Le._bubble=Gc,Le.get=Mc,Le.milliseconds=Be,Le.seconds=Ce,Le.minutes=De,Le.hours=Ee,Le.days=Fe,Le.weeks=Oc,Le.months=Ge,Le.years=He,Le.humanize=Sc,Le.toISOString=Tc,Le.toString=Tc,Le.toJSON=Tc,Le.locale=ub,Le.localeData=vb,Le.toIsoString=fa("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Tc),Le.lang=Zd,J("X",0,0,"unix"),J("x",0,0,"valueOf"),O("x",od),O("X",rd),S("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),S("x",function(a,b,c){c._d=new Date(r(a))}),a.version="2.11.2",b(Ea),a.fn=ke,a.min=Ga,a.max=Ha,a.now=Td,a.utc=h,a.unix=kc,a.months=wc,a.isDate=d,a.locale=x,a.invalid=l,a.duration=Za,a.isMoment=p,a.weekdays=yc,a.parseZone=lc,a.localeData=z,a.isDuration=Ja,a.monthsShort=xc,a.weekdaysMin=Ac,a.defineLocale=y,a.weekdaysShort=zc,a.normalizeUnits=B,a.relativeTimeThreshold=Rc,a.prototype=ke;var Me=a;return Me}),/** @license
|
||||
========================================================================
|
||||
moment-timezone.js
|
||||
version : 0.4.1
|
||||
authors : Tim Wood
|
||||
license : MIT
|
||||
github.com/moment/moment-timezone
|
||||
*/
|
||||
function(a,b){"function"==typeof define&&define.amd?define(["moment"],b):"object"==typeof exports?module.exports=b(require("moment")):b(a.moment)}(this,function(a){function b(a){return a>96?a-87:a>64?a-29:a-48}function c(a){var c,d=0,e=a.split("."),f=e[0],g=e[1]||"",h=1,i=0,j=1;for(45===a.charCodeAt(0)&&(d=1,j=-1),d;d<f.length;d++)c=b(f.charCodeAt(d)),i=60*i+c;for(d=0;d<g.length;d++)h/=60,c=b(g.charCodeAt(d)),i+=c*h;return i*j}function d(a){for(var b=0;b<a.length;b++)a[b]=c(a[b])}function e(a,b){for(var c=0;c<b;c++)a[c]=Math.round((a[c-1]||0)+6e4*a[c]);a[b-1]=1/0}function f(a,b){var c,d=[];for(c=0;c<b.length;c++)d[c]=a[b[c]];return d}function g(a){var b=a.split("|"),c=b[2].split(" "),g=b[3].split(""),h=b[4].split(" ");return d(c),d(g),d(h),e(h,g.length),{name:b[0],abbrs:f(b[1].split(" "),g),offsets:f(c,g),untils:h}}function h(a){a&&this._set(g(a))}function i(a){return(a||"").toLowerCase().replace(/\//g,"_")}function j(a){var b,c,d;for("string"==typeof a&&(a=[a]),b=0;b<a.length;b++)c=a[b].split("|")[0],d=i(c),v[d]=a[b],x[d]=c}function k(a,b){a=i(a);var c,d=v[a];return d instanceof h?d:"string"==typeof d?(d=new h(d),v[a]=d,d):w[a]&&b!==k&&(c=k(w[a],k))?(d=v[a]=new h,d._set(c),d.name=x[a],d):null}function l(){var a,b=[];for(a in x)x.hasOwnProperty(a)&&(v[a]||v[w[a]])&&x[a]&&b.push(x[a]);return b.sort()}function m(a){var b,c,d,e;for("string"==typeof a&&(a=[a]),b=0;b<a.length;b++)c=a[b].split("|"),d=i(c[0]),e=i(c[1]),w[d]=e,x[d]=c[0],w[e]=d,x[e]=c[1]}function n(a){j(a.zones),m(a.links),r.dataVersion=a.version}function o(a){return o.didShowError||(o.didShowError=!0,q("moment.tz.zoneExists('"+a+"') has been deprecated in favor of !moment.tz.zone('"+a+"')")),!!k(a)}function p(a){return!(!a._a||void 0!==a._tzm)}function q(a){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(a)}function r(b){var c=Array.prototype.slice.call(arguments,0,-1),d=arguments[arguments.length-1],e=k(d),f=a.utc.apply(null,c);return e&&!a.isMoment(b)&&p(f)&&f.add(e.parse(f),"minutes"),f.tz(d),f}function s(a){return function(){return this._z?this._z.abbr(this):a.call(this)}}function t(a){return function(){return this._z=null,a.apply(this,arguments)}}if(void 0!==a.tz)return q("Moment Timezone "+a.tz.version+" was already loaded "+(a.tz.dataVersion?"with data from ":"without any data")+a.tz.dataVersion),a;var u="0.4.1",v={},w={},x={},y=a.version.split("."),z=+y[0],A=+y[1];(z<2||2===z&&A<6)&&q("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+a.version+". See momentjs.com"),h.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets},_index:function(a){var b,c=+a,d=this.untils;for(b=0;b<d.length;b++)if(c<d[b])return b},parse:function(a){var b,c,d,e,f=+a,g=this.offsets,h=this.untils,i=h.length-1;for(e=0;e<i;e++)if(b=g[e],c=g[e+1],d=g[e?e-1:e],b<c&&r.moveAmbiguousForward?b=c:b>d&&r.moveInvalidForward&&(b=d),f<h[e]-6e4*b)return g[e];return g[i]},abbr:function(a){return this.abbrs[this._index(a)]},offset:function(a){return this.offsets[this._index(a)]}},r.version=u,r.dataVersion="",r._zones=v,r._links=w,r._names=x,r.add=j,r.link=m,r.load=n,r.zone=k,r.zoneExists=o,r.names=l,r.Zone=h,r.unpack=g,r.unpackBase60=c,r.needsOffset=p,r.moveInvalidForward=!0,r.moveAmbiguousForward=!1;var B=a.fn;a.tz=r,a.defaultZone=null,a.updateOffset=function(b,c){var d,e=a.defaultZone;void 0===b._z&&(e&&p(b)&&!b._isUTC&&(b._d=a.utc(b._a)._d,b.utc().add(e.parse(b),"minutes")),b._z=e),b._z&&(d=b._z.offset(b),Math.abs(d)<16&&(d/=60),void 0!==b.utcOffset?b.utcOffset(-d,c):b.zone(d,c))},B.tz=function(b){return b?(this._z=k(b),this._z?a.updateOffset(this):q("Moment Timezone has no data for "+b+". See http://momentjs.com/timezone/docs/#/data-loading/."),this):this._z?this._z.name:void 0},B.zoneName=s(B.zoneName),B.zoneAbbr=s(B.zoneAbbr),B.utc=t(B.utc),a.tz.setDefault=function(b){return(z<2||2===z&&A<9)&&q("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+a.version+"."),a.defaultZone=b?k(b):null,a};var C=a.momentProperties;return"[object Array]"===Object.prototype.toString.call(C)?(C.push("_z"),C.push("_a")):C&&(C._z=null),n({version:"2015g",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q","Africa/Accra|LMT GMT GHST|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE","Africa/Addis_Ababa|LMT EAT BEAT BEAUT|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0","Africa/Bangui|LMT WAT|-d.A -10|01|-22y0d.A","Africa/Bissau|LMT WAT GMT|12.k 10 0|012|-2ldWV.E 2xonV.E","Africa/Blantyre|LMT Line truncated
|
||||
links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Sao_Tome","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Addis_Ababa|Africa/Asmara","Africa/Addis_Ababa|Africa/Asmera","Africa/Addis_Ababa|Africa/Dar_es_Salaam","Africa/Addis_Ababa|Africa/Djibouti","Africa/Addis_Ababa|Africa/Kampala","Africa/Addis_Ababa|Africa/Mogadishu","Africa/Addis_Ababa|Africa/Nairobi","Africa/Addis_Ababa|Indian/Antananarivo","Africa/Addis_Ababa|Indian/Comoro","Africa/Addis_Ababa|Indian/Mayotte","Africa/Bangui|Africa/Brazzaville","Africa/Bangui|Africa/Douala","Africa/Bangui|Africa/Kinshasa","Africa/Bangui|Africa/Lagos","Africa/Bangui|Africa/Libreville","Africa/Bangui|Africa/Luanda","Africa/Bangui|Africa/Malabo","Africa/Bangui|Africa/Niamey","Africa/Bangui|Africa/Porto-Novo","Africa/Blantyre|Africa/Bujumbura","Africa/Blantyre|Africa/Gaborone","Africa/Blantyre|Africa/Harare","Africa/Blantyre|Africa/Kigali","Africa/Blantyre|Africa/Lubumbashi","Africa/Blantyre|Africa/Lusaka","Africa/Blantyre|Africa/Maputo","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Juba|Africa/Khartoum","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Anguilla|America/Antigua","America/Anguilla|America/Dominica","America/Anguilla|America/Grenada","America/Anguilla|America/Guadeloupe","America/Anguilla|America/Marigot","America/Anguilla|America/Montserrat","America/Anguilla|America/Port_of_Spain","America/Anguilla|America/St_Barthelemy","America/Anguilla|America/St_Kitts","America/Anguilla|America/St_Lucia","America/Anguilla|America/St_Thomas","America/Anguilla|America/St_Vincent","America/Anguilla|America/Tortola","America/Anguilla|America/Virgin","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Aruba|America/Curacao","America/Aruba|America/Kralendijk","America/Aruba|America/Lower_Princes","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Ensenada|America/Tijuana","America/Ensenada|Mexico/BajaNorte","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/Montreal|America/Toronto","America/Montreal|Canada/Eastern","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Phoenix|US/Arizona","America/Porto_Acre|America/Rio_Branco","America/Porto_Acre|Brazil/Acre","America/Regina|Canada/East-Saskatchewan","America/Regina|Canada/Saskatchewan","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Antarctica/McMurdo|Antarctica/South_Pole","Antarctica/McMurdo|NZ","Antarctica/McMurdo|Pacific/Auckland","Arctic/Longyearbyen|Atlantic/Jan_Mayen","Arctic/Longyearbyen|Europe/Oslo","Asia/Aden|Asia/Kuwait","Asia/Aden|Asia/Riyadh","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bahrain|Asia/Qatar","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Calcutta|Asia/Kolkata","Asia/Chongqing|Asia/Chungking","Asia/Chongqing|Asia/Harbin","Asia/Chongqing|Asia/Shanghai","Asia/Chongqing|PRC","Asia/Dacca|Asia/Dhaka","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Istanbul|Europe/Istanbul","Asia/Istanbul|Turkey","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kashgar|Asia/Urumqi","Asia/Kathmandu|Asia/Katmandu","Asia/Macao|Asia/Macau","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Seoul|ROK","Asia/Singapore|Singapore","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimbu|Asia/Thimphu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Atlantic/Faeroe|Atlantic/Faroe","Atlantic/Reykjavik|Iceland","Australia/ACT|Australia/Canberra","Australia/ACT|Australia/NSW","Australia/ACT|Australia/Sydney","Australia/Adelaide|Australia/South","Australia/BrisbaLine truncated
|
||||
========================================================================
|
||||
Google Code Prettify
|
||||
Copyright (C) 2006 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
var IN_GLOBAL_SCOPE=!0;window.PR_SHOULD_USE_CONTINUATION=!0;var prettyPrintOne,prettyPrint;!function(){function a(a){function b(a){var b=a.charCodeAt(0);if(92!==b)return b;var c=a.charAt(1);return b=l[c],b?b:"0"<=c&&c<="7"?parseInt(a.substring(1),8):"u"===c||"x"===c?parseInt(a.substring(2),16):a.charCodeAt(1)}function c(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);var b=String.fromCharCode(a);return"\\"===b||"-"===b||"]"===b||"^"===b?"\\"+b:b}function d(a){var d=a.substring(1,a.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g")),e=[],f="^"===d[0],g=["["];f&&g.push("^");for(var h=f?1:0,i=d.length;h<i;++h){var j=d[h];if(/\\[bdsw]/i.test(j))g.push(j);else{var k,l=b(j);h+2<i&&"-"===d[h+1]?(k=b(d[h+2]),h+=2):k=l,e.push([l,k]),k<65||l>122||(k<65||l>90||e.push([32|Math.max(65,l),32|Math.min(k,90)]),k<97||l>122||e.push([Math.max(97,l)&-33,Math.min(k,122)&-33]))}}e.sort(function(a,b){return a[0]-b[0]||b[1]-a[1]});for(var m=[],n=[],h=0;h<e.length;++h){var o=e[h];o[0]<=n[1]+1?n[1]=Math.max(n[1],o[1]):m.push(n=o)}for(var h=0;h<m.length;++h){var o=m[h];g.push(c(o[0])),o[1]>o[0]&&(o[1]+1>o[0]&&g.push("-"),g.push(c(o[1])))}return g.push("]"),g.join("")}function e(a){for(var b=a.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),e=b.length,h=[],i=0,j=0;i<e;++i){var k=b[i];if("("===k)++j;else if("\\"===k.charAt(0)){var l=+k.substring(1);l&&(l<=j?h[l]=-1:b[i]=c(l))}}for(var i=1;i<h.length;++i)-1===h[i]&&(h[i]=++f);for(var i=0,j=0;i<e;++i){var k=b[i];if("("===k)++j,h[j]||(b[i]="(?:");else if("\\"===k.charAt(0)){var l=+k.substring(1);l&&l<=j&&(b[i]="\\"+h[l])}}for(var i=0;i<e;++i)"^"===b[i]&&"^"!==b[i+1]&&(b[i]="");if(a.ignoreCase&&g)for(var i=0;i<e;++i){var k=b[i],m=k.charAt(0);k.length>=2&&"["===m?b[i]=d(k):"\\"!==m&&(b[i]=k.replace(/[a-zA-Z]/g,function(a){var b=a.charCodeAt(0);return"["+String.fromCharCode(b&-33,32|b)+"]"}))}return b.join("")}for(var f=0,g=!1,h=!1,i=0,j=a.length;i<j;++i){var k=a[i];if(k.ignoreCase)h=!0;else if(/[a-z]/i.test(k.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){g=!0,h=!1;break}}for(var l={b:8,t:9,n:10,v:11,f:12,r:13},m=[],i=0,j=a.length;i<j;++i){var k=a[i];if(k.global||k.multiline)throw new Error(""+k);m.push("(?:"+e(k)+")")}return new RegExp(m.join("|"),h?"gi":"g")}function b(a,b){function c(a){var i=a.nodeType;if(1==i){if(d.test(a.className))return;for(var j=a.firstChild;j;j=j.nextSibling)c(j);var k=a.nodeName.toLowerCase();"br"!==k&&"li"!==k||(e[h]="\n",g[h<<1]=f++,g[h++<<1|1]=a)}else if(3==i||4==i){var l=a.nodeValue;l.length&&(l=b?l.replace(/\r\n?/g,"\n"):l.replace(/[ \t\r\n]+/g," "),e[h]=l,g[h<<1]=f,f+=l.length,g[h++<<1|1]=a)}}var d=/(?:^|\s)nocode(?:\s|$)/,e=[],f=0,g=[],h=0;return c(a),{sourceCode:e.join("").replace(/\n$/,""),spans:g}}function c(a,b,c,d){if(b){var e={sourceCode:b,basePos:a};c(e),d.push.apply(d,e.decorations)}}function d(a){for(var b=void 0,c=a.firstChild;c;c=c.nextSibling){var d=c.nodeType;b=1===d?b?a:c:3===d&&R.test(c.nodeValue)?a:b}return b===a?void 0:b}function e(b,d){var e,f={};!function(){for(var c=b.concat(d),g=[],h={},i=0,j=c.length;i<j;++i){var k=c[i],l=k[3];if(l)for(var m=l.length;--m>=0;)f[l.charAt(m)]=k;var n=k[1],o=""+n;h.hasOwnProperty(o)||(g.push(n),h[o]=null)}g.push(/[\0-\uffff]/),e=a(g)}();var g=d.length,h=function(a){for(var b=a.sourceCode,i=a.basePos,k=[i,J],l=0,m=b.match(e)||[],n={},o=0,p=m.length;o<p;++o){var q,r=m[o],s=n[r],t=void 0;if("string"==typeof s)q=!1;else{var u=f[r.charAt(0)];if(u)t=r.match(u[1]),s=u[0];else{for(var v=0;v<g;++v)if(u=d[v],t=r.match(u[1])){s=u[0];break}t||(s=J)}q=s.length>=5&&"lang-"===s.substring(0,5),!q||t&&"string"==typeof t[1]||(q=!1,s=M),q||(n[r]=s)}var w=l;if(l+=r.length,q){var x=t[1],y=r.indexOf(x),z=y+x.length;t[2]&&(z=r.length-t[2].length,y=z-x.length);var A=s.substring(5);c(i+w,r.substring(0,y),h,k),c(i+w+y,x,j(A,x),k),c(i+w+z,r.substring(z),h,k)}else k.push(i+w,s)}a.decorations=k};return h}function f(a){var b=[],c=[];a.tripleQuotedStrings?b.push([D,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]):a.multiLineStrings?b.push([D,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):b.push([D,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]),a.verbatimStrings&&c.push([D,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var d=a.hashComments;d&&(a.cStyleComments?(d>1?b.push([F,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]):b.push([F,/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),c.push([D,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null])):b.push([F,/^#[^\r\n]*Line truncated
|
||||
========================================================================
|
||||
vkBeautify - javascript plugin to pretty-print or minify text in XML, JSON, CSS and SQL formats.
|
||||
|
||||
Version - 0.99.00.beta
|
||||
Copyright (c) 2012 Vadim Kiryukhin
|
||||
vkiryukhin @ gmail.com
|
||||
http://www.eslinstructor.net/vkbeautify/
|
||||
|
||||
Dual licensed under the MIT and GPL licenses:
|
||||
http://www.opensource.org/licenses/mit-license.php
|
||||
http://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
function(){function a(a){var b=" ";if(isNaN(parseInt(a)))b=a;else switch(a){case 1:b=" ";break;case 2:b=" ";break;case 3:b=" ";break;case 4:b=" ";break;case 5:b=" ";break;case 6:b=" ";break;case 7:b=" ";break;case 8:b=" ";break;case 9:b=" ";break;case 10:b=" ";break;case 11:b=" ";break;case 12:b=" "}for(var c=["\n"],d=0;d<100;d++)c.push(c[d]+b);return c}function b(){this.step=" ",this.shift=a(this.step)}function c(a,b){return b-(a.replace(/\(/g,"").length-a.replace(/\)/g,"").length)}function d(a,b){return a.replace(/\s{1,}/g," ").replace(/ AND /gi,"~::~"+b+b+"AND ").replace(/ BETWEEN /gi,"~::~"+b+"BETWEEN ").replace(/ CASE /gi,"~::~"+b+"CASE ").replace(/ ELSE /gi,"~::~"+b+"ELSE ").replace(/ END /gi,"~::~"+b+"END ").replace(/ FROM /gi,"~::~FROM ").replace(/ GROUP\s{1,}BY/gi,"~::~GROUP BY ").replace(/ HAVING /gi,"~::~HAVING ").replace(/ IN /gi," IN ").replace(/ JOIN /gi,"~::~JOIN ").replace(/ CROSS~::~{1,}JOIN /gi,"~::~CROSS JOIN ").replace(/ INNER~::~{1,}JOIN /gi,"~::~INNER JOIN ").replace(/ LEFT~::~{1,}JOIN /gi,"~::~LEFT JOIN ").replace(/ RIGHT~::~{1,}JOIN /gi,"~::~RIGHT JOIN ").replace(/ ON /gi,"~::~"+b+"ON ").replace(/ OR /gi,"~::~"+b+b+"OR ").replace(/ ORDER\s{1,}BY/gi,"~::~ORDER BY ").replace(/ OVER /gi,"~::~"+b+"OVER ").replace(/\(\s{0,}SELECT /gi,"~::~(SELECT ").replace(/\)\s{0,}SELECT /gi,")~::~SELECT ").replace(/ THEN /gi," THEN~::~"+b).replace(/ UNION /gi,"~::~UNION~::~").replace(/ USING /gi,"~::~USING ").replace(/ WHEN /gi,"~::~"+b+"WHEN ").replace(/ WHERE /gi,"~::~WHERE ").replace(/ WITH /gi,"~::~WITH ").replace(/ ALL /gi," ALL ").replace(/ AS /gi," AS ").replace(/ ASC /gi," ASC ").replace(/ DESC /gi," DESC ").replace(/ DISTINCT /gi," DISTINCT ").replace(/ EXISTS /gi," EXISTS ").replace(/ NOT /gi," NOT ").replace(/ NULL /gi," NULL ").replace(/ LIKE /gi," LIKE ").replace(/\s{0,}SELECT /gi,"SELECT ").replace(/\s{0,}UPDATE /gi,"UPDATE ").replace(/ SET /gi," SET ").replace(/~::~{1,}/g,"~::~").split("~::~")}b.prototype.xml=function(b,c){var d=b.replace(/>\s{0,}</g,"><").replace(/</g,"~::~<").replace(/\s*xmlns\:/g,"~::~xmlns:").replace(/\s*xmlns\=/g,"~::~xmlns=").split("~::~"),e=d.length,f=!1,g=0,h="",i=0,j=c?a(c):this.shift;for(i=0;i<e;i++)d[i].search(/<!/)>-1?(h+=j[g]+d[i],f=!0,(d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1||d[i].search(/!DOCTYPE/)>-1)&&(f=!1)):d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1?(h+=d[i],f=!1):/^<\w/.exec(d[i-1])&&/^<\/\w/.exec(d[i])&&/^<[\w:\-\.\,]+/.exec(d[i-1])==/^<\/[\w:\-\.\,]+/.exec(d[i])[0].replace("/","")?(h+=d[i],f||g--):d[i].search(/<\w/)>-1&&d[i].search(/<\//)==-1&&d[i].search(/\/>/)==-1?h=h+=f?d[i]:j[g++]+d[i]:d[i].search(/<\w/)>-1&&d[i].search(/<\//)>-1?h=h+=f?d[i]:j[g]+d[i]:d[i].search(/<\//)>-1?h=h+=f?d[i]:j[--g]+d[i]:d[i].search(/\/>/)>-1?h=h+=f?d[i]:j[g]+d[i]:h+=d[i].search(/<\?/)>-1?j[g]+d[i]:d[i].search(/xmlns\:/)>-1||d[i].search(/xmlns\=/)>-1?j[g]+d[i]:d[i];return"\n"==h[0]?h.slice(1):h},b.prototype.json=function(a,b){var b=b?b:this.step;return"undefined"==typeof JSON?a:"string"==typeof a?JSON.stringify(JSON.parse(a),null,b):"object"==typeof a?JSON.stringify(a,null,b):a},b.prototype.css=function(b,c){var d=b.replace(/\s{1,}/g," ").replace(/\{/g,"{~::~").replace(/\}/g,"~::~}~::~").replace(/\;/g,";~::~").replace(/\/\*/g,"~::~/*").replace(/\*\//g,"*/~::~").replace(/~::~\s{0,}~::~/g,"~::~").split("~::~"),e=d.length,f=0,g="",h=0,i=c?a(c):this.shift;for(h=0;h<e;h++)g+=/\{/.exec(d[h])?i[f++]+d[h]:/\}/.exec(d[h])?i[--f]+d[h]:/\*\\/.exec(d[h])?i[f]+d[h]:i[f]+d[h];return g.replace(/^\n{1,}/,"")},b.prototype.sql=function(b,e){var f=b.replace(/\s{1,}/g," ").replace(/\'/gi,"~::~'").split("~::~"),g=f.length,h=[],i=0,j=this.step,k=0,l="",m=0,n=e?a(e):this.shift;for(m=0;m<g;m++)h=m%2?h.concat(f[m]):h.concat(d(f[m],j));for(g=h.length,m=0;m<g;m++){k=c(h[m],k),/\s{0,}\s{0,}SELECT\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\s{0,}SET\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\(\s{0,}SELECT\s{0,}/.exec(h[m])?(i++,l+=n[i]+h[m]):/\'/.exec(h[m])?(k<1&&i&&i--,l+=h[m]):(l+=n[i]+h[m],k<1&&i&&i--)}return l=l.replace(/^\n{1,}/,"").replace(/\n{1,}/g,"\n")},b.prototype.xmlmin=function(a,b){var c=b?a:a.replace(/\<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)\>/g,"").replace(/[ \r\n\t]{1,}xmlns/g," xmlns");return c.replace(/>\s{0,}</g,"><")},b.prototype.jsonmin=function(a){return"undefined"==typeof JSON?a:JSON.stringify(JSON.parse(a),null,0)},b.prototype.cssmin=function(a,b){var c=b?a:a.replace(/\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\//g,"");return c.replace(/\s{1,}/g," ").replace(/\{\s{1,}/g,"{").replace(/\}\s{1,}/g,"}").replace(/\;\s{1,}/g,";").replace(/\/\*\s{1,}/g,"/*").replace(/\*\/\s{1,}/g,"*/")},b.prototype.sqlmin=function(a){return a.replace(/\s{1,}/g," ").replace(/\s{1,}\(/,"(").replace(/\s{1,}\)/,")")},window.vkbeautify=new b}(),/** @license
|
||||
========================================================================
|
||||
Sortable
|
||||
@author RubaXa <trash@rubaxa.org>
|
||||
@license MIT
|
||||
*/
|
||||
function(a){"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){function a(a,b){if(!a||!a.nodeType||1!==a.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(a);this.el=a,this.options=b=s({},b),a[M]=this;var c={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1};for(var d in c)!(d in b)&&(b[d]=c[d]);W(b);for(var f in this)"_"===f.charAt(0)&&(this[f]=this[f].bind(this));this.nativeDraggable=!b.forceFallback&&Q,e(a,"mousedown",this._onTapStart),e(a,"touchstart",this._onTapStart),this.nativeDraggable&&(e(a,"dragover",this),e(a,"dragenter",this)),U.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){w&&w.state!==a&&(h(w,"display",a?"none":""),!a&&w.state&&x.insertBefore(w,t),w.state=a)}function c(a,b,c){if(a){c=c||O;do if(">*"===b&&a.parentNode===c||q(a,b))return a;while(a!==c&&(a=a.parentNode))}return null}function d(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.preventDefault()}function e(a,b,c){a.addEventListener(b,c,!1)}function f(a,b,c){a.removeEventListener(b,c,!1)}function g(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(L," ").replace(" "+b+" "," ");a.className=(d+(c?" "+b:"")).replace(L," ")}}function h(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return O.defaultView&&O.defaultView.getComputedStyle?c=O.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function i(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;e<f;e++)c(d[e],e);return d}return[]}function j(a,b,c,d,e,f,g){var h=O.createEvent("Event"),i=(a||b[M]).options,j="on"+c.charAt(0).toUpperCase()+c.substr(1);h.initEvent(c,!0,!0),h.to=b,h.from=e||b,h.item=d||b,h.clone=w,h.oldIndex=f,h.newIndex=g,b.dispatchEvent(h),i[j]&&i[j].call(a,h)}function k(a,b,c,d,e,f){var g,h,i=a[M],j=i.options.onMove;return g=O.createEvent("Event"),g.initEvent("move",!0,!0),g.to=b,g.from=a,g.dragged=c,g.draggedRect=d,g.related=e||b,g.relatedRect=f||b.getBoundingClientRect(),a.dispatchEvent(g),j&&(h=j.call(i,g)),h}function l(a){a.draggable=!1}function m(){S=!1}function n(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return(b.clientY-(d.top+d.height)>5||b.clientX-(d.right+d.width)>5)&&c}function o(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function p(a,b){var c=0;if(!a||!a.parentNode)return-1;for(;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&q(a,b)&&c++;return c}function q(a,b){if(a){b=b.split(".");var c=b.shift().toUpperCase(),d=new RegExp("\\s("+b.join("|")+")(?=\\s)","g");return!(""!==c&&a.nodeName.toUpperCase()!=c||b.length&&((" "+a.className+" ").match(d)||[]).length!=b.length)}return!1}function r(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}function s(a,b){if(a&&b)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}if("undefined"==typeof window||"undefined"==typeof window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K={},L=/\s+/g,M="Sortable"+(new Date).getTime(),N=window,O=N.document,P=N.parseInt,Q=!!("draggable"in O.createElement("div")),R=function(a){return a=O.createElement("x"),a.style.cssText="pointer-events:auto","auto"===a.style.pointerEvents}(),S=!1,T=Math.abs,U=([].slice,[]),V=r(function(a,b,c){if(c&&b.scroll){var d,e,f,g,h=b.scrollSensitivity,i=b.scrollSpeed,j=a.clientX,k=a.clientY,l=window.innerWidth,m=window.innerHeight;if(A!==c&&(z=b.scroll,A=c,z===!0)){z=c;do if(z.offsetWidth<z.scrollWidth||z.offsetHeight<z.scrollHeight)break;while(z=z.parentNode)}z&&(d=z,e=z.getBoundingClientRect(),f=(T(e.right-j)<=h)-(T(e.left-j)<=h),g=(T(e.bottom-k)<=h)-(T(e.top-k)<=h)),f||g||(f=(l-j<=h)-(j<=h),g=(m-k<=h)-(k<=h),(f||g)&&(d=N)),K.vx===f&&K.vy===g&&K.el===d||(K.el=d,K.vx=f,K.vy=g,clearInterval(K.pid),d&&(K.pid=setInterval(function(){d===N?N.scrollTo(N.pageXOffset+f*i,N.pageYOffset+g*i):(g&&(d.scrollTop+=g*i),f&&(d.scrollLeft+=f*i))},24)))}},30),W=function(a){var b=a.group;b&&"object"==typeof b||(b=a.group={name:b}),["pull","put"].forEach(function(a){a in b||(b[a]=!0)}),a.groups=" "+b.name+(b.put.join?" "+b.put.join(" "):"")+" "};return a.prototype={constructor:a,_onTapStart:function(a){var b=this,d=this.el,e=thisLine truncated
|
||||
var a=new MessageChannel;return a.port1.onmessage=j,function(){return a.port2.postMessage(0)}}function i(){var a=setTimeout;return function(){return a(j,1)}}function j(){for(var a=0;a<S;a+=2){var b=_[a],c=_[a+1];b(c),_[a]=void 0,_[a+1]=void 0}S=0}function k(){try{var a=require,b=a("vertx");return T=b.runOnLoop||b.runOnContext,f()}catch(a){return i()}}function l(a,b){var c=arguments,d=this,e=new this.constructor(n);void 0===e[ba]&&G(e);var f=d._state;return f?!function(){var a=c[f-1];V(function(){return D(f,e,a,d._result)})}():z(d,e,a,b),e}function m(a){var b=this;if(a&&"object"==typeof a&&a.constructor===b)return a;var c=new b(n);return v(c,a),c}function n(){}function o(){return new TypeError("You cannot resolve a promise with itself")}function p(){return new TypeError("A promises callback cannot return that same promise.")}function q(a){try{return a.then}catch(a){return fa.error=a,fa}}function r(a,b,c,d){try{a.call(b,c,d)}catch(a){return a}}function s(a,b,c){V(function(a){var d=!1,e=r(c,b,function(c){d||(d=!0,b!==c?v(a,c):x(a,c))},function(b){d||(d=!0,y(a,b))},"Settle: "+(a._label||" unknown promise"));!d&&e&&(d=!0,y(a,e))},a)}function t(a,b){b._state===da?x(a,b._result):b._state===ea?y(a,b._result):z(b,void 0,function(b){return v(a,b)},function(b){return y(a,b)})}function u(a,c,d){c.constructor===a.constructor&&d===l&&c.constructor.resolve===m?t(a,c):d===fa?y(a,fa.error):void 0===d?x(a,c):b(d)?s(a,c,d):x(a,c)}function v(b,c){b===c?y(b,o()):a(c)?u(b,c,q(c)):x(b,c)}function w(a){a._onerror&&a._onerror(a._result),A(a)}function x(a,b){a._state===ca&&(a._result=b,a._state=da,0!==a._subscribers.length&&V(A,a))}function y(a,b){a._state===ca&&(a._state=ea,a._result=b,V(w,a))}function z(a,b,c,d){var e=a._subscribers,f=e.length;a._onerror=null,e[f]=b,e[f+da]=c,e[f+ea]=d,0===f&&a._state&&V(A,a)}function A(a){var b=a._subscribers,c=a._state;if(0!==b.length){for(var d=void 0,e=void 0,f=a._result,g=0;g<b.length;g+=3)d=b[g],e=b[g+c],d?D(c,d,e,f):e(f);a._subscribers.length=0}}function B(){this.error=null}function C(a,b){try{return a(b)}catch(a){return ga.error=a,ga}}function D(a,c,d,e){var f=b(d),g=void 0,h=void 0,i=void 0,j=void 0;if(f){if(g=C(d,e),g===ga?(j=!0,h=g.error,g=null):i=!0,c===g)return void y(c,p())}else g=e,i=!0;c._state!==ca||(f&&i?v(c,g):j?y(c,h):a===da?x(c,g):a===ea&&y(c,g))}function E(a,b){try{b(function(b){v(a,b)},function(b){y(a,b)})}catch(b){y(a,b)}}function F(){return ha++}function G(a){a[ba]=ha++,a._state=void 0,a._result=void 0,a._subscribers=[]}function H(a,b){this._instanceConstructor=a,this.promise=new a(n),this.promise[ba]||G(this.promise),R(b)?(this._input=b,this.length=b.length,this._remaining=b.length,this._result=new Array(this.length),0===this.length?x(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&x(this.promise,this._result))):y(this.promise,I())}function I(){return new Error("Array Methods must be provided an Array")}function J(a){return new H(this,a).promise}function K(a){var b=this;return new b(R(a)?function(c,d){for(var e=a.length,f=0;f<e;f++)b.resolve(a[f]).then(c,d)}:function(a,b){return b(new TypeError("You must pass an array to race."))})}function L(a){var b=this,c=new b(n);return y(c,a),c}function M(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function N(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function O(a){this[ba]=F(),this._result=this._state=void 0,this._subscribers=[],n!==a&&("function"!=typeof a&&M(),this instanceof O?E(this,a):N())}function P(){var a=void 0;if("undefined"!=typeof global)a=global;else if("undefined"!=typeof self)a=self;else try{a=Function("return this")()}catch(a){throw new Error("polyfill failed because global object is unavailable in this environment")}var b=a.Promise;if(b){var c=null;try{c=Object.prototype.toString.call(b.resolve())}catch(a){}if("[object Promise]"===c&&!b.cast)return}a.Promise=O}var Q=void 0;Q=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var R=Q,S=0,T=void 0,U=void 0,V=function(a,b){_[S]=a,_[S+1]=b,S+=2,2===S&&(U?U(j):aa())},W="undefined"!=typeof window?window:void 0,X=W||{},Y=X.MutationObserver||X.WebKitMutationObserver,Z="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),$="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,_=new Array(1e3),aa=void 0;aa=Z?e():Y?g():$?h():void 0===W&&"function"==typeof require?k():i();var ba=Math.random().toString(36).substring(16),ca=void 0,da=1,ea=2,fa=new B,ga=new B,ha=0;return H.prototype._enumerate=function(){for(var a=this.length,b=this._input,c=0;this._state===ca&&c<a;c++)this._eachEntry(b[c],c)},H.prototype._eachEntry=function(a,b){var c=this._instanceConstructor,d=c.resolve;if(d===m){var e=q(a);if(e===l&&a._state!==ca)this._Line truncated
|
||||
========================================================================
|
||||
XPath.js - Pure JavaScript implementation of XPath 2.0 parser and evaluator
|
||||
|
||||
Copyright (c) 2012 Sergey Ilinsky
|
||||
Dual licensed under the MIT and GPL licenses.
|
||||
*/
|
||||
function(){function a(a){this.code=a,this.message=Vc[a]}function b(b){var c=b.match(/\$?(?:(?![0-9-])(?:\w[\w.-]*|\*):)?(?![0-9-])(?:\w[\w.-]*|\*)|\(:|:\)|\/\/|\.\.|::|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?|"[^"]*(?:""[^"]*)*"|'[^']*(?:''[^']*)*'|<<|>>|[!<>]=|(?![0-9-])[\w-]+:\*|\s+|./g);if(c){for(var d=0,e=0,f=c.length;e<f;e++)"(:"==c[e]?d++:":)"==c[e]&&d?d--:d||/^\s/.test(c[e])||(this[this.length++]=c[e]);if(d)throw new a("XPST0003")}}function c(){}function d(a,b,d,e){this.staticContext=a,this.item=b,this.scope=d||{},this.stack={},this.DOMAdapter=e||new c;var f=new Ec,g=f.getTimezoneOffset();this.dateTime=new _a(f.getFullYear(),f.getMonth()+1,f.getDate(),f.getHours(),f.getMinutes(),f.getSeconds()+f.getMilliseconds()/1e3,-g),this.timezone=new Ab(0,Gc.abs(~~(g/60)),Gc.abs(g%60),0,g>0)}function e(){this.dataTypes={},this.documents={},this.functions={},this.collations={},this.collections={}}function f(a,b,c){Xc[a]=c,Yc[a]=b}function g(a,b){Zc[a]=b}function h(c,d){var e=new b(c),f=l(e,d);if(!e.eof())throw new a("XPST0003");if(!f)throw new a("XPST0003");this.internalExpression=f}function i(){}function j(){}function k(){this.items=[]}function l(b,c){var d;if(!b.eof()&&(d=m(b,c))){var e=new k;for(e.items.push(d);","==b.peek();){if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");e.items.push(d)}return e}}function m(a,b){if(!a.eof())return s(a,b)||o(a,b)||u(a,b)||K(a,b)}function n(){this.bindings=[],this.returnExpr=null}function o(b,c){if("for"==b.peek()&&"$"==b.peek(1).substr(0,1)){b.next();var d,e=new n;do e.bindings.push(q(b,c));while(","==b.peek()&&b.next());if("return"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");return e.returnExpr=d,e}}function p(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function q(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new p(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function r(a,b,c){this.condExpr=a,this.thenExpr=b,this.elseExpr=c}function s(b,c){var d,e,f;if("if"==b.peek()&&"("==b.peek(1)){if(b.next(2),b.eof()||!(d=l(b,c)))throw new a("XPST0003");if(")"!=b.peek())throw new a("XPST0003");if(b.next(),"then"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");if("else"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(f=m(b,c)))throw new a("XPST0003");return new r(d,e,f)}}function t(a){this.quantifier=a,this.bindings=[],this.satisfiesExpr=null}function u(b,c){var d=b.peek();if(("some"==d||"every"==d)&&"$"==b.peek(1).substr(0,1)){b.next();var e,f=new t(d);do f.bindings.push(w(b,c));while(","==b.peek()&&b.next());if("satisfies"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");return f.satisfiesExpr=e,f}}function v(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function w(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new v(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function x(a,b,c){this.left=a,this.right=b,this.operator=c}function y(b,c){var d,e;if(!b.eof()&&(d=ya(b,c))){if(!(b.peek()in cd))return d;var f=b.peek();if(b.next(),b.eof()||!(e=ya(b,c)))throw new a("XPST0003");return new x(d,e,f)}}function z(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return new Xa(!1);var d=vc(a.right.evaluate(b),b);if(!d.length)return new Xa(!1);for(var e,f,g=!1,h=0,i=c.length;h<i&&!g;h++)for(var j,k,l=0,m=d.length;l<m&&!g;l++)f=c[h],k=d[l],e=f instanceof xb,j=k instanceof xb,e&&j?(f=ub.cast(f),k=ub.cast(k)):(e?k instanceof Ab?f=Ab.cast(f):k instanceof yb?f=yb.cast(f):k.primitiveKind&&(f=Zc[k.primitiveKind].cast(f)):j&&(f instanceof Ab?k=Ab.cast(k):f instanceof yb?k=yb.cast(k):f.primitiveKind&&(k=Zc[f.primitiveKind].cast(k))),f instanceof Va&&(f=ub.cast(f)),k instanceof Va&&(k=ub.cast(k))),g=ad[_c[a.operator]](f,k,b).valueOf();return new Xa(g)}function A(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return null;ua(b,c,"?");var d=vc(a.right.evaluate(b),b);if(!d.length)return null;ua(b,d,"?");var e=c[0],f=d[0];return e instanceof xb&&(e=ub.cast(e)),f instanceof xb&&(f=ub.cast(f)),e instanceof Va&&(e=ub.cast(e)),f instanceof Va&&(f=ub.cast(f)),ad[a.operator](e,f,b)}function B(a,b){var c=a.left.evaluate(b);if(!c.length)return null;ua(b,c,"?"),ta(b,c,Zb);var d=a.right.evaluate(b);return d.length?(ua(b,d,"?"),ta(b,d,Zb),bd[a.operator](c[0],d[0],b)):null}function C(a){this.left=a,this.items=[]}function D(b,c){var d;if(!b.eof()&&(d=F(b,c))){if(!(b.peek()in dd))return d;for(var e,f=new C(d);(e=b.peek())in dd;){if(b.next(),b.eof()||!(d=F(b,c)))throw new a("XPST0003");f.items.push([e,d])}return f}}funLine truncated
|
||||
if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.lt=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(0))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.ge=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-greater-than"].call(d,Xc.compare.call(d,b,c),new Cb(-1))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")},ad.le=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-greater-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-greater-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(1))}else b instanceof Ya?c instanceof Ya&&(e="date-greater-than"):b instanceof vb?c instanceof vb&&(e="time-greater-than"):b instanceof _a?c instanceof _a&&(e="dateTime-greater-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-greater-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-greater-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")};var bd={};bd.is=function(a,b,c){return $c["is-same-node"].call(c,a,b)},bd[">>"]=function(a,b,c){return $c["node-after"].call(c,a,b)},bd["<<"]=function(a,b,c){return $c["node-before"].call(c,a,b)};var cd={"=":z,"!=":z,"<":z,"<=":z,">":z,">=":z,eq:A,ne:A,lt:A,le:A,gt:A,ge:A,is:B,">>":B,"<<":B};C.prototype.left=null,C.prototype.items=null;var dd={};dd["+"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)&&(e="numeric-add"):b instanceof Ya?c instanceof yb?e="add-yearMonthDuration-to-date":c instanceof Ab&&(e="add-dayTimeDuration-to-date"):b instanceof yb?c instanceof Ya?(e="add-yearMonthDuration-to-date",f=!0):c instanceof _a?(e="add-yearMonthDuration-to-dateTime",f=!0):c instanceof yb&&(e="add-yearMonthDurations"):b instanceof Ab?c instanceof Ya?(e="add-dayTimeDuration-to-date",f=!0):c instanceof vb?(e="add-dayTimeDuration-to-time",f=!0):c instanceof _a?(e="add-dayTimeDuration-to-dateTime",f=!0):c instanceof Ab&&(e="add-dayTimeDurations"):b instanceof vb?c instanceof Ab&&(e="add-dayTimeDuration-to-time"):b instanceof _a&&(c instanceof yb?e="add-yearMonthDuration-to-dateTime":c instanceof Ab&&(e="add-dayTimeDuration-to-dateTime")),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},dd["-"]=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-subtract"):b instanceof Ya?c instanceof Ya?e="subtract-dates":c instanceof yb?e="subtract-yearMonthDuration-from-date":c instanceof Ab&&(e="subtract-dayTimeDuration-from-date"):b instanceof vb?c instanceof vb?e="subtract-times":c instanceof Ab&&(e="subtract-dayTimeDuration-from-time"):b instanceof _a?c instanceof _a?e="subtract-dateTimes":c instanceof yb?e="subtract-yearMonthDuration-from-dateTime":c instanceof Ab&&(e="subtract-dayTimeDuration-from-dateTime"):b instanceof yb?c instanceof yb&&(e="subtract-yearMonthDurations"):b instanceof Ab&&c instanceof Ab&&(e="subtract-dayTimeDurations"),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},C.prototype.evaluate=function(a){var b=vc(this.left.evaluate(a),a);if(!b.length)return[];ua(a,b,"?");var c=b[0];c instanceof xb&&(c=gb.cast(c));for(var d,e,f=0,g=this.items.length;f<g;f++){if(d=vc(this.items[f][1].evaluate(a),a),!d.length)return[];ua(a,d,"?"),e=d[0],e instanceof xb&&(e=gb.cast(e)),c=dd[this.items[f][0]](c,e,a)}return[c]},E.prototype.left=null,E.prototype.items=null;var ed={};ed["*"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)?e="numeric-multiply":c instanceof yb?(e="multiply-yearMonthDuration",f=!0):c instanceof Ab&&(e="multiply-dayTimeDuration",f=!0):b instanceof yb?Ua(c)&&(e="multiply-yearMonthDuration"):b instanceof Ab&&Ua(c)&&(e="multiply-dayTimeDuration"),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},ed.div=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-divide"):b instanceof yb?Ua(c)?e="divide-yearMonthDuration":c instanceof yb&&(e="divide-yearMonthDuration-by-yearMonthDuration"):b instanceof Ab&&(Ua(c)?e="divide-dayTimeDuration":c instanceof Ab&&(e="divide-dayTimeDuration-by-dayTimeDuration")),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ed.idiv=function(b,c,d){if(Ua(b)Line truncated
|
||||
Ob.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=255)return new Ob(c.value);throw new a("FORG0001")},g("unsignedByte",Ob),Pb.prototype=new ub,Pb.prototype.builtInKind=j.NORMALIZEDSTRING_DT,Pb.cast=function(a){return new Pb(Ac(a))},g("normalizedString",Pb),Qb.prototype=new Pb,Qb.prototype.builtInKind=j.TOKEN_DT,Qb.cast=function(a){return new Qb(Ac(a))},g("token",Qb),Rb.prototype=new Qb,Rb.prototype.builtInKind=j.NAME_DT,Rb.cast=function(a){return new Rb(Ac(a))},g("Name",Rb),Sb.prototype=new Rb,Sb.prototype.builtInKind=j.NCNAME_DT,Sb.cast=function(a){return new Sb(Ac(a))},g("NCName",Sb),Tb.prototype=new Sb,Tb.prototype.builtInKind=j.ENTITY_DT,Tb.cast=function(a){return new Tb(Ac(a))},g("ENTITY",Tb),Ub.prototype=new Sb,Ub.prototype.builtInKind=j.ID_DT,Ub.cast=function(a){return new Ub(Ac(a))},g("ID",Ub),Vb.prototype=new Sb,Vb.prototype.builtInKind=j.IDREF_DT,Vb.cast=function(a){return new Vb(Ac(a))},g("IDREF",Vb),Wb.prototype=new Qb,Wb.prototype.builtInKind=j.LANGUAGE_DT,Wb.cast=function(a){return new Wb(Ac(a))},g("language",Wb),Xb.prototype=new Qb,Xb.prototype.builtInKind=j.NMTOKEN_DT,Xb.cast=function(a){return new Xb(Ac(a))},g("NMTOKEN",Xb),Zb.prototype=new Yb,$b.prototype=new Zb,_b.prototype=new Zb,ac.prototype=new Zb,bc.prototype=new Zb,cc.prototype=new Zb,dc.prototype=new Zb,$c["hexBinary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["base64Binary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-less-than"]=function(a,b){return new Xa(a.valueOf()<b.valueOf())},$c["boolean-greater-than"]=function(a,b){return new Xa(a.valueOf()>b.valueOf())},$c["yearMonthDuration-less-than"]=function(a,b){return new Xa(lc(a)<lc(b))},$c["yearMonthDuration-greater-than"]=function(a,b){return new Xa(lc(a)>lc(b))},$c["dayTimeDuration-less-than"]=function(a,b){return new Xa(jc(a)<jc(b))},$c["dayTimeDuration-greater-than"]=function(a,b){return new Xa(jc(a)>jc(b))},$c["duration-equal"]=function(a,b){return new Xa(a.negative==b.negative&&lc(a)==lc(b)&&jc(a)==jc(b))},$c["dateTime-equal"]=function(a,b){return gc(a,b,"eq")},$c["dateTime-less-than"]=function(a,b){return gc(a,b,"lt")},$c["dateTime-greater-than"]=function(a,b){return gc(a,b,"gt")},$c["date-equal"]=function(a,b){return fc(a,b,"eq")},$c["date-less-than"]=function(a,b){return fc(a,b,"lt")},$c["date-greater-than"]=function(a,b){return fc(a,b,"gt")},$c["time-equal"]=function(a,b){return ec(a,b,"eq")},$c["time-less-than"]=function(a,b){return ec(a,b,"lt")},$c["time-greater-than"]=function(a,b){return ec(a,b,"gt")},$c["gYearMonth-equal"]=function(a,b){return gc(new _a(a.year,a.month,Za(a.year,a.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,b.month,Za(b.year,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gYear-equal"]=function(a,b){return gc(new _a(a.year,1,1,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,1,1,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonthDay-equal"]=function(a,b){return gc(new _a(1972,a.month,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonth-equal"]=function(a,b){return gc(new _a(1972,a.month,Za(1972,b.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,Za(1972,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gDay-equal"]=function(a,b){return gc(new _a(1972,12,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,12,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["add-yearMonthDurations"]=function(a,b){return mc(lc(a)+lc(b))},$c["subtract-yearMonthDurations"]=function(a,b){return mc(lc(a)-lc(b))},$c["multiply-yearMonthDuration"]=function(a,b){return mc(lc(a)*b)},$c["divide-yearMonthDuration"]=function(a,b){return mc(lc(a)/b)},$c["divide-yearMonthDuration-by-yearMonthDuration"]=function(a,b){return new fb(lc(a)/lc(b))},$c["add-dayTimeDurations"]=function(a,b){return kc(jc(a)+jc(b))},$c["subtract-dayTimeDurations"]=function(a,b){return kc(jc(a)-jc(b))},$c["multiply-dayTimeDuration"]=function(a,b){return kc(jc(a)*b)},$c["divide-dayTimeDuration"]=function(a,b){return kc(jc(a)/b)},$c["divide-dayTimeDuration-by-dayTimeDuration"]=function(a,b){return new fb(jc(a)/jc(b))},$c["subtract-dateTimes"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-dates"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-times"]=function(a,b){return kc(nc(a)-nc(b))},$c["add-yearMonthDuration-to-dateTime"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-dateTime"]=function(a,b){return ic(a,b,"+")},$c["subtract-yearMonthDuration-from-dateTime"]=function(a,b){return hc(a,b,"-")},$c["subtract-dayTimeDuration-from-dateTime"]=function(a,b){return ic(a,b,"-")},$c["add-yearMonthDuration-to-date"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-date"]=function(a,b){rLine truncated
|
||||
return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},padBytesRight:function(a,b,c){c=c||0;var d=new Array(b);return d.fill(c),Array.prototype.map.call(a,function(a,b){d[b]=a}),d},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parseEscapedChars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expandAlphRange:function(a){for(var b=[],c=0;c<a.length;c++)if(c<a.length-2&&"-"===a[c+1]&&"\\"!==a[c]){for(var d=Utils.ord(a[c]),e=Utils.ord(a[c+2]),f=Line truncated
|
||||
var l,m=a.decrypt({ciphertext:k,salt:f.sigBytes>0&&f},d,{iv:e.sigBytes>0?e:null,mode:g,padding:h});try{l=m.toString(Utils.format[j])}catch(a){l="Decrypt error: "+a.message}return l},runAesEnc:function(a,b){return Cipher._enc(CryptoJS.AES,a,b)},runAesDec:function(a,b){return Cipher._dec(CryptoJS.AES,a,b)},runDesEnc:function(a,b){return Cipher._enc(CryptoJS.DES,a,b)},runDesDec:function(a,b){return Cipher._dec(CryptoJS.DES,a,b)},runTripleDesEnc:function(a,b){return Cipher._enc(CryptoJS.TripleDES,a,b)},runTripleDesDec:function(a,b){return Cipher._dec(CryptoJS.TripleDES,a,b)},runRabbitEnc:function(a,b){return Cipher._enc(CryptoJS.Rabbit,a,b)},runRabbitDec:function(a,b){return Cipher._dec(CryptoJS.Rabbit,a,b)},BLOWFISH_MODES:["ECB","CBC","PCBC","CFB","OFB","CTR"],BLOWFISH_OUTPUT_TYPES:["Base64","Hex","String","Raw"],runBlowfishEnc:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];if(0===c.length)return"Enter a key";var f=blowfish.encrypt(a,c,{outputType:1,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}),g=CryptoJS.enc.Hex.parse(f);return g.toString(Utils.format[e])},runBlowfishDec:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];return 0===c.length?"Enter a key":(a=Utils.format[e].parse(a),blowfish.decrypt(a.toString(CryptoJS.enc.Base64),c,{outputType:0,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}))},KDF_KEY_SIZE:256,KDF_ITERATIONS:1,runPbkdf2:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.PBKDF2(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runEvpkdf:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.EvpKDF(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runRc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,runRc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},runVigenereEnc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},runVigenereDec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},AFFINE_A:1,AFFINE_B:0,runAffineEnc:function(a,b){var c="abcdefghijklmnopqrstuvwxyz",d=b[0],e=b[1],f="";if(!/^\+?(0|[1-9]\d*)$/.test(d)||!/^\+?(0|[1-9]\d*)$/.test(e))return"The values of a and b can only be integers.";for(var g=0;g<a.length;g++)f+=c.indexOf(a[g])>=0?c[(d*c.indexOf(a[g])+e)%26]:c.indexOf(a[g].toLowerCase())>=0?c[(d*c.indexOf(a[g].toLowerCase())+e)%26].toUpperCase():a[g];return f},runAffineDec:function(a,b){var c,d="abcdefghijklmnopqrstuvwxyz",e=b[0],f=b[1],g="";if(!/^\+?(0|[1-9]\d*)$/.test(e)||!/^\+?(0|[1-9]\d*)$/.test(f))return"The values of a and b can only be integers.";if(1!==Utils.gcd(e,26))return"The value of a must be coprime to 26.";c=Utils.modInv(e,26);for(var h=0;h<a.length;h++)g+=d.indexOf(a[h])>=0?d[Utils.mod((d.indexOf(a[h])-f)*c,26)]:d.indexOf(a[h].toLowerCase())>=0?d[Utils.mod((d.indexOf(a[h].toLowerCase())-f)*c,26)].toUpperCase():a[h];return g},runAtbash:function(a,b){return Cipher.runAffineEnc(a,[25,25])},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","defaLine truncated
|
||||
},Endian={DATA_FORMAT:["Hex","Raw"],WORD_LENGTH:4,PAD_INCOMPLETE_WORDS:!0,runSwapEndianness:function(a,b){var c=b[0],d=b[1],e=b[2],f=[],g=[],h=[],i=0,j=0;if(d<=0)return"Word length must be greater than 0";switch(c){case"Hex":f=Utils.fromHex(a);break;case"Raw":f=Utils.strToByteArray(a);break;default:f=a}for(i=0;i<f.length;i+=d){var k=f.slice(i,i+d);if(e&&k.length<d)for(j=k.length;j<d;j++)k.push(0);h.push(k)}for(i=0;i<h.length;i++)for(j=h[i].length;j--;)g.push(h[i][j]);switch(c){case"Hex":return Utils.toHex(g);case"Raw":return Utils.byteArrayToUtf8(g);default:return g}}},Entropy={CHUNK_SIZE:1e3,runEntropy:function(a,b){var c=b[0],d="",e=Entropy._calcEntropy(a);d+="Shannon entropy: "+e+"\n<br><canvas id='chart-area'></canvas><br>\n- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string.\n- Standard English text usually falls somewhere between 3.5 and 5.\n- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5.\n\nThe following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections.\n\n<br><script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), entropy = "+e+", height = parentRect.height * 0.25; canvas.width = parentRect.width * 0.95; canvas.height = height > 150 ? 150 : height; CanvasComponents.drawScaleBar(canvas, entropy, 8, [ { label: 'English text', min: 3.5, max: 5 },{ label: 'Encrypted/compressed', min: 7.5, max: 8 } ]); <\/script>";var f=0;if(0!==c)for(var g=0;g<a.length;g+=c)f=Entropy._calcEntropy(a.slice(g,g+c)),d+="Bytes "+g+" to "+(g+c)+": "+f+"\n";else d+="Chunk size cannot be 0.";return d},FREQ_ZEROS:!1,runFreqDistrib:function(a,b){if(!a.length)return"No data";for(var c=new Array(256),d=new Array(256),e=a.length,f=b[0],g=0;g<256;g++)c[g]=0;for(g=0;g<e;g++)c[a[g]]++;var h=0;for(g=0;g<256;g++)c[g]>0&&h++,d[g]=c[g]/e*100;var i="<canvas id='chart-area'></canvas><br>Total data length: "+e+"\nNumber of bytes represented: "+h+"\nNumber of bytes not represented: "+(256-h)+"\n\nByte Percentage\n<script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), scores = "+JSON.stringify(d)+"; canvas.width = parentRect.width * 0.95; canvas.height = parentRect.height * 0.9; CanvasComponents.drawBarChart(canvas, scores, 'Byte', 'Frequency %', 16, 6); <\/script>";for(g=0;g<256;g++)(c[g]||f)&&(i+=" "+Utils.hex(g,2)+" ("+Utils.padRight(d[g].toFixed(2).replace(".00","")+"%)",8)+Array(Math.ceil(d[g])+1).join("|")+"\n");return i},_calcEntropy:function(a){for(var b=[],c=a.unique(),d=Utils.byteArrayToChars(a),e=0;e<c.length;e++)b.push(d.count(Utils.chr(c[e]))/a.length);var f,g=0;for(e=0;e<b.length;e++)f=b[e],g+=f*Math.log(f)/Math.log(2);return-g}},Extract={_search:function(a,b,c,d){for(var e,f="",g=0;e=b.exec(a);)c&&c.test(e[0])||(g++,f+=e[0]+"\n");return d&&(f="Total found: "+g+"\n\n"+f),f},MIN_STRING_LEN:3,DISPLAY_TOTAL:!1,runStrings:function(a,b){var c=b[0]||Extract.MIN_STRING_LEN,d=b[1],e="[A-Z\\d/\\-:.,_$%'\"()<>= !\\[\\]{}@]",f=new RegExp(e+"{"+c+",}","ig");return Extract._search(a,f,null,d)},INCLUDE_IPV4:!0,INCLUDE_IPV6:!1,REMOVE_LOCAL:!1,runIp:function(a,b){var c=b[0],d=b[1],e=b[2],f=b[3],g="(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?",h="((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})",i="";if(c&&d?i=g+"|"+h:c?i=g:d&&(i=h),i){var j=new RegExp(i,"ig");if(e){var k="10\\..+",l="192\\.168\\..+",m="172\\.(?:1[6-9]|2\\d|3[01])\\..+",n="127\\..+",o=new RegExp("^(?:"+k+"|"+l+"|"+m+"|"+n+")");return Extract._search(a,j,o,f)}return Extract._search(a,j,null,f)}return""},runEmail:function(a,b){var c=b[0],d=/\w[-.\w]*@[-\w]+(?:\.[-\w]+)*\.[A-Z]{2,4}/gi;return Extract._search(a,d,null,c)},runMac:function(a,b){var c=b[0],d=/[A-F\d]{2}(?:[:-][A-F\d]{2}){5}/gi;return Extract._search(a,d,null,c)},runUrls:function(a,b){var c=b[0],d="[A-Z]+://",e="[-\\w]+(?:\\.\\w[-\\w]*)+",f=":\\d+",g="/[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]*";g+="(?:[.!,?]+[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]+)*";var h=new RegExp(d+e+"(?:"+f+")?(?:"+g+")?","ig");return Extract._search(a,h,null,c)},runDomains:function(a,b){var c=b[0],d="https?://"Line truncated
|
||||
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIPv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");if(e[5]&!0&&e[6]>>>8===254){d+="\n\nThis IPv6 address contains a modified EUI-64 address, identified by the presence of FF:FE in the 12th and 13th octets.";var t=Utils.hex(e[4]>>>8)+":"+Utils.hex(255&e[4]Line truncated
|
||||
runHexToPem:function(a,b){return KJUR.asn1.ASN1Util.getPEMStringFromHex(a.replace(/\s/g,""),b[0])},runHexToObjectIdentifier:function(a,b){return KJUR.asn1.ASN1Util.oidHexToInt(a.replace(/\s/g,""))},runObjectIdentifierToHex:function(a,b){return KJUR.asn1.ASN1Util.oidIntToHex(a)},ASN1_TRUNCATE_LENGTH:32,runParseAsn1HexString:function(a,b){var c=b[1],d=b[0];return ASN1HEX.dump(a.replace(/\s/g,""),{ommitLongOctet:c},d)},_formatDnStr:function(a,b){for(var c,d,e,f="",g=a.split(",/|"),h=0,i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],h=c.length>h?c.length:h);for(i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],d=g[i].split("=")[1],e=Utils.padRight(c,h)+" = "+d+"\n",f+=Utils.padLeft(e,b+e.length," "));return f},_formatByteStr:function(a,b,c){a=Utils.toHex(Utils.fromHex(a),":"),b*=3;for(var d="",e=0;e<a.length;e+=b){var f=a.slice(e,e+b)+"\n";d+=0===e?f:Utils.padLeft(f,c+f.length," ")}return d.slice(0,d.length-1)},_formatDate:function(a){return a[4]+a[5]+"/"+a[2]+a[3]+"/"+a[0]+a[1]+" "+a[6]+a[7]+":"+a[8]+a[9]+":"+a[10]+a[11]}};X509.hex2dn=function(a){for(var b="",c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0),d=0;d<c.length;d++){var e=ASN1HEX.getHexOfTLV_AtObj(a,c[d]);b=b+",/|"+X509.hex2rdn(e)}return b},X509.DN_ATTRHEX={"0603550403":"commonName","0603550404":"surname","0603550406":"countryName","0603550407":"localityName","0603550408":"stateOrProvinceName","0603550409":"streetAddress","060355040a":"organizationName","060355040b":"organizationalUnitName","060355040c":"title","0603550414":"telephoneNumber","060355042a":"givenName","06032b06010505070201":"idCertificatePolicies","06036086480186f8420101":"netscape-cert-type","06036086480186f8420102":"netscape-base-url","06036086480186f8420103":"netscape-revocation-url","06036086480186f8420104":"netscape-ca-revocation-url","06036086480186f8420107":"netscape-cert-renewal-url","06036086480186f8420108":"netscape-ca-policy-url","06036086480186f842010c":"netscape-ssl-server-name","06036086480186f842010d":"netscape-comment","0603604c010201":"A1","0603604c010203":"A3","0603604c01020110":"Certification Practice Statement pointer","0603604c010301":"Dados do cert parte 1","0603604c010305":"Dados do cert parte 2","0603604c010306":"Dados do cert parte 3","06030992268993f22c640119":"domainComponent","06032a24a0f2a07d01010a":"Signet pilot","06032a24a0f2a07d01010b":"Signet intraNet","06032a24a0f2a07d010102":"Signet personal","06032a24a0f2a07d010114":"Signet securityPolicy","06032a24a0f2a07d010103":"Signet business","06032a24a0f2a07d010104":"Signet legal","06032a24a497a35301640101":"Certificates Australia policyIdentifier","06032a85702201":"seis-cp","06032a8570220101":"SEIS certificatePolicy-s10","06032a85702202":"SEIS pe","06032a85702203":"SEIS at","06032a8570220301":"SEIS at-personalIdentifier","06032a8648ce380201":"holdinstruction-none","06032a8648ce380202":"holdinstruction-callissuer","06032a8648ce380203":"holdinstruction-reject","06032a8648ce380401":"dsa","06032a8648ce380403":"dsaWithSha1","06032a8648ce3d01":"fieldType","06032a8648ce3d0101":"prime-field","06032a8648ce3d0102":"characteristic-two-field","06032a8648ce3d010201":"ecPublicKey","06032a8648ce3d010203":"characteristic-two-basis","06032a8648ce3d01020301":"onBasis","06032a8648ce3d01020302":"tpBasis","06032a8648ce3d01020303":"ppBasis","06032a8648ce3d02":"publicKeyType","06032a8648ce3d0201":"ecPublicKey","06032a8648ce3e0201":"dhPublicNumber","06032a864886f67d07":"nsn","06032a864886f67d0741":"nsn-ce","06032a864886f67d074100":"entrustVersInfo","06032a864886f67d0742":"nsn-alg","06032a864886f67d07420a":"cast5CBC","06032a864886f67d07420b":"cast5MAC","06032a864886f67d07420c":"pbeWithMD5AndCAST5-CBC","06032a864886f67d07420d":"passwordBasedMac","06032a864886f67d074203":"cast3CBC","06032a864886f67d0743":"nsn-oc","06032a864886f67d074300":"entrustUser","06032a864886f67d0744":"nsn-at","06032a864886f67d074400":"entrustCAInfo","06032a864886f67d07440a":"attributeCertificate","06032a864886f70d0101":"pkcs-1","06032a864886f70d010101":"rsaEncryption","06032a864886f70d010102":"md2withRSAEncryption","06032a864886f70d010103":"md4withRSAEncryption","06032a864886f70d010104":"md5withRSAEncryption","06032a864886f70d010105":"sha1withRSAEncryption","06032a864886f70d010106":"rsaOAEPEncryptionSET","06032a864886f70d010910020b":"SMIMEEncryptionKeyPreference","06032a864886f70d010c":"pkcs-12","06032a864886f70d010c01":"pkcs-12-PbeIds","06032a864886f70d010c0101":"pbeWithSHAAnd128BitRC4","06032a864886f70d010c0102":"pbeWithSHAAnd40BitRC4","06032a864886f70d010c0103":"pbeWithSHAAnd3-KeyTripleDES-CBC","06032a864886f70d010c0104":"pbeWithSHAAnd2-KeyTripleDES-CBC","06032a864886f70d010c0105":"pbeWithSHAAnd128BitRC2-CBC","06032a864886f70d010c0106":"pbeWithSHAAnd40BitRC2-CBC","06032a864886f70d010c0a":"pkcs-12Version1","06032a864886f70d010c0a01":"pkcs-12BadIds","06032a864886f70d010c0a0101":"pkcs-12-keyBag","06032a864886f70d010c0a0102":"pkcs-12-pkcs-8ShroudedKeyBag","06032a864886f70d010c0a0103":"pkcs-12-certBag","06032a864886f70d010c0a0104":"pkcs-12-crlBag","06032a864Line truncated
|
||||
return d.slice(0,d.length-1)},runRemoveLineNumbers:function(a,b){return a.replace(/^[ \t]{0,5}\d+[\s:|\-,.)\]]/gm,"")},runExpandAlphRange:function(a,b){return Utils.expandAlphRange(a).join(b[0])},_caseInsensitiveSort:function(a,b){return a.toLowerCase().localeCompare(b.toLowerCase())},_ipSort:function(a,b){var c=a.split("."),d=b.split(".");return c=16777216*c[0]+65536*c[1]+256*c[2]+1*c[3],d=16777216*d[0]+65536*d[1]+256*d[2]+1*d[3],isNaN(c)&&!isNaN(d)?1:!isNaN(c)&&isNaN(d)?-1:isNaN(c)&&isNaN(d)?a.localeCompare(b):c-d}},StrUtils={REGEX_PRE_POPULATE:[{name:"User defined",value:""},{name:"IPv4 address",value:"(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?"},{name:"IPv6 address",value:"((?=.*::)(?!.*::.+::)(::)?([\\dA-Fa-f]{1,4}:(:|\\b)|){5}|([\\dA-Fa-f]{1,4}:){6})((([\\dA-Fa-f]{1,4}((?!\\3)::|:\\b|(?![\\dA-Fa-f])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})"},{name:"Email address",value:"(\\w[-.\\w]*)@([-\\w]+(?:\\.[-\\w]+)*)\\.([A-Za-z]{2,4})"},{name:"URL",value:'([A-Za-z]+://)([-\\w]+(?:\\.\\w[-\\w]*)+)(:\\d+)?(/[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]*(?:[.!,?]+[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]+)*)?'},{name:"Domain",value:"(?:(https?):\\/\\/)?([-\\w.]+)\\.(com|net|org|biz|info|co|uk|onion|int|mobi|name|edu|gov|mil|eu|ac|ae|af|de|ca|ch|cn|cy|es|gb|hk|il|in|io|tv|me|nl|no|nz|ro|ru|tr|us|az|ir|kz|uz|pk)+"},{name:"Windows file path",value:"([A-Za-z]):\\\\((?:[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61}\\\\?)*[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61})(\\.[A-Za-z\\d]{1,6})?"},{name:"UNIX file path",value:"(?:/[A-Za-z\\d.][A-Za-z\\d\\-.]{0,61})+"},{name:"MAC address",value:"[A-Fa-f\\d]{2}(?:[:-][A-Fa-f\\d]{2}){5}"},{name:"Date (yyyy-mm-dd)",value:"((?:19|20)\\d\\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])"},{name:"Date (dd/mm/yyyy)",value:"(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((?:19|20)\\d\\d)"},{name:"Date (mm/dd/yyyy)",value:"(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]((?:19|20)\\d\\d)"},{name:"Strings",value:'[A-Za-z\\d/\\-:.,_$%\\x27"()<>= !\\[\\]{}@]{4,}'}],REGEX_CASE_INSENSITIVE:!0,REGEX_MULTILINE_MATCHING:!0,OUTPUT_FORMAT:["Highlight matches","List matches","List capture groups","List matches with capture groups"],DISPLAY_TOTAL:!1,runRegex:function(a,b){var c=b[1],d=b[2],e=b[3],f=b[4],g=b[5],h="g";if(d&&(h+="i"),e&&(h+="m"),!c||"^"===c||"$"===c)return Utils.escapeHtml(a);try{var i=new RegExp(c,h);switch(g){case"Highlight matches":return StrUtils._regexHighlight(a,i,f);case"List matches":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!1));case"List capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!1,!0));case"List matches with capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!0));default:return"Error: Invalid output format"}}catch(a){return"Invalid regex. Details: "+a.message}},CASE_SCOPE:["All","Word","Sentence","Paragraph"],runUpper:function(a,b){var c=b[0];switch(c){case"Word":return a.replace(/(\b\w)/gi,function(a){return a.toUpperCase()});case"Sentence":return a.replace(/(?:\.|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"Paragraph":return a.replace(/(?:\n|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"All":default:return a.toUpperCase()}},runLower:function(a,b){return a.toLowerCase()},SEARCH_TYPE:["Regex","Extended (\\n, \\t, \\x...)","Simple string"],FIND_REPLACE_GLOBAL:!0,FIND_REPLACE_CASE:!1,FIND_REPLACE_MULTILINE:!0,runFindReplace:function(a,b){var c=b[0].string,d=b[0].option,e=b[1],f=b[2],g=b[3],h=b[4],i="";return f&&(i+="g"),g&&(i+="i"),h&&(i+="m"),"Regex"===d?c=new RegExp(c,i):0===d.indexOf("Extended")&&(c=Utils.parseEscapedChars(c)),a.replace(c,e,i)},SPLIT_DELIM:",",DELIMITER_OPTIONS:["Line feed","CRLF","Space","Comma","Semi-colon","Colon","Nothing (separate chars)"],runSplit:function(a,b){var c=b[0]||StrUtils.SPLIT_DELIM,d=Utils.charRep[b[1]],e=a.split(c);return e.join(d)},runFilter:function(a,b){var c=Utils.charRep[b[0]],d=b[2];try{var e=new RegExp(b[1])}catch(a){return"Invalid regex. Details: "+a.message}var f=function(a){return d^e.test(a)};return a.split(c).filter(f).join(c)},DIFF_SAMPLE_DELIMITER:"\\n\\n",DIFF_BY:["Character","Word","Line","Sentence","CSS","JSON"],runDiff:function(a,b){var c,d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=a.split(d),j="";if(!i||2!==i.length)return"Incorrect number of samples, perhaps you need to modify the sample delimiter or add more samples?";switch(e){case"Character":c=JsDiff.diffChars(i[0],i[1]);break;case"Word":c=h?JsDiff.diffWords(i[0],i[1]):JsDiff.diffWordsWithSpace(i[0],i[1]);break;case"Line":c=h?JsDiff.diffTrimmedLines(i[0],i[1]):JsDiff.diffLines(i[0],i[1]);break;case"Sentence":c=JsDiff.diffSentences(i[0],i[1]);break;case"CSS":c=JsDiff.diffCss(i[0],i[1]);break;case"JSON":c=JsDiff.diffJson(i[0],i[1]);break;default:return"Invalid 'Diff by' option."}for(var k=0;k<c.length;k++)c[k].added?f&&(j+="<span class='hlgreen'>"+Utils.escapeHtml(c[k].value)+"</span>"):c[k].removed?g&&(j+="<span Line truncated
|
||||
inputType:"string",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS},{name:"Base",type:"number",value:ByteRepr.CHARCODE_BASE}]},"From Binary":{description:"Converts a binary string back into its raw form.<br><br>e.g. <code>01001000 01101001</code> becomes <code>Hi</code>",run:ByteRepr.runFromBinary,highlight:ByteRepr.highlightFromBinary,highlightReverse:ByteRepr.highlightToBinary,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"To Binary":{description:"Displays the input data as a binary string.<br><br>e.g. <code>Hi</code> becomes <code>01001000 01101001</code>",run:ByteRepr.runToBinary,highlight:ByteRepr.highlightToBinary,highlightReverse:ByteRepr.highlightFromBinary,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"From Decimal":{description:"Converts the data from an ordinal integer array back into its raw form.<br><br>e.g. <code>72 101 108 108 111</code> becomes <code>Hello</code>",run:ByteRepr.runFromDecimal,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"To Decimal":{description:"Converts the input data to an ordinal integer array.<br><br>e.g. <code>Hello</code> becomes <code>72 101 108 108 111</code>",run:ByteRepr.runToDecimal,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"From Hexdump":{description:"Attempts to convert a hexdump back into raw data. This operation supports many different hexdump variations, but probably not all. Make sure you verify that the data it gives you is correct before continuing analysis.",run:Hexdump.runFrom,highlight:Hexdump.highlightFrom,highlightReverse:Hexdump.highlightTo,inputType:"string",outputType:"byteArray",args:[]},"To Hexdump":{description:"Creates a hexdump of the input data, displaying both the hexademinal values of each byte and an ASCII representation alongside.",run:Hexdump.runTo,highlight:Hexdump.highlightTo,highlightReverse:Hexdump.highlightFrom,inputType:"byteArray",outputType:"string",args:[{name:"Width",type:"number",value:Hexdump.WIDTH},{name:"Upper case hex",type:"boolean",value:Hexdump.UPPER_CASE},{name:"Include final length",type:"boolean",value:Hexdump.INCLUDE_FINAL_LENGTH}]},"From Base":{description:"Converts a number to decimal from a given numerical base.",run:Base.runFrom,inputType:"string",outputType:"number",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"To Base":{description:"Converts a decimal number to a given numerical base.",run:Base.runTo,inputType:"number",outputType:"string",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"From HTML Entity":{description:"Converts HTML entities back to characters<br><br>e.g. <code>&<span>amp;</span></code> becomes <code>&</code>",run:HTML.runFromEntity,inputType:"string",outputType:"string",args:[]},"To HTML Entity":{description:"Converts characters to HTML entities<br><br>e.g. <code>&</code> becomes <code>&<span>amp;</span></code>",run:HTML.runToEntity,inputType:"string",outputType:"string",args:[{name:"Convert all characters",type:"boolean",value:HTML.CONVERT_ALL},{name:"Convert to",type:"option",value:HTML.CONVERT_OPTIONS}]},"Strip HTML tags":{description:"Removes all HTML tags from the input.",run:HTML.runStripTags,inputType:"string",outputType:"string",args:[{name:"Remove indentation",type:"boolean",value:HTML.REMOVE_INDENTATION},{name:"Remove excess line breaks",type:"boolean",value:HTML.REMOVE_LINE_BREAKS}]},"URL Decode":{description:"Converts URI/URL percent-encoded characters back to their raw values.<br><br>e.g. <code>%3d</code> becomes <code>=</code>",run:URL_.runFrom,inputType:"string",outputType:"string",args:[]},"URL Encode":{description:"Encodes problematic characters into percent-encoding, a format supported by URIs/URLs.<br><br>e.g. <code>=</code> becomes <code>%3d</code>",run:URL_.runTo,inputType:"string",outputType:"string",args:[{name:"Encode all special chars",type:"boolean",value:URL_.ENCODE_ALL}]},"Parse URI":{description:"Pretty prints complicated Uniform Resource Identifier (URI) strings for ease of reading. Particularly useful for Uniform Resource Locators (URLs) with a lot of arguments.",run:URL_.runParse,inputType:"string",outputType:"string",args:[]},"Unescape Unicode Characters":{description:"Converts unicode-escaped character notation back into raw characters.<br><br>Supports the prefixes:<ul><li><code>\\u</code></li><li><code>%u</code></li><li><code>U+</code></li></ul>e.g. <code>\\u03c3\\u03bf\\u03c5</code> becomes <code>\u03c3\u03bf\u03c5</code>",run:Unicode.runUnescape,inputType:"string",outputType:"string",args:[{name:"Prefix",type:"option",value:Unicode.PREFIXES}]},"From Quoted Printable":{description:"Converts QP-encoded text back to standard text.",run:QuotedPrintable.runFrom,inputType:"string",outputType:"byteArray",arLine truncated
|
||||
run:Extract.runMac,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract URLs":{description:"Extracts Uniform Resource Locators (URLs) from the input. The protocol (http, ftp etc.) is required otherwise there will be far too many false positives.",run:Extract.runUrls,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract domains":{description:"Extracts domain names with common Top-Level Domains (TLDs).<br>Note that this will not include paths. Use <strong>Extract URLs</strong> to find entire URLs.",run:Extract.runDomains,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract file paths":{description:"Extracts anything that looks like a Windows or UNIX file path.<br><br>Note that if UNIX is selected, there will likely be a lot of false positives.",run:Extract.runFilePaths,inputType:"string",outputType:"string",args:[{name:"Windows",type:"boolean",value:Extract.INCLUDE_WIN_PATH},{name:"UNIX",type:"boolean",value:Extract.INCLUDE_UNIX_PATH},{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract dates":{description:"Extracts dates in the following formats<ul><li><code>yyyy-mm-dd</code></li><li><code>dd/mm/yyyy</code></li><li><code>mm/dd/yyyy</code></li></ul>Dividers can be any of /, -, . or space",run:Extract.runDates,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Regular expression":{description:"Define your own regular expression (regex) to search the input data with, optionally choosing from a list of pre-defined patterns.",run:StrUtils.runRegex,manualBake:!0,inputType:"string",outputType:"html",args:[{name:"Built in regexes",type:"populateOption",value:StrUtils.REGEX_PRE_POPULATE,target:1},{name:"Regex",type:"text",value:""},{name:"Case insensitive",type:"boolean",value:StrUtils.REGEX_CASE_INSENSITIVE},{name:"Multiline matching",type:"boolean",value:StrUtils.REGEX_MULTILINE_MATCHING},{name:"Display total",type:"boolean",value:StrUtils.DISPLAY_TOTAL},{name:"Output format",type:"option",value:StrUtils.OUTPUT_FORMAT}]},"XPath expression":{description:"Extract information from an XML document with an XPath query",run:Code.runXpath,inputType:"string",outputType:"string",args:[{name:"XPath",type:"string",value:Code.XPATH_INITIAL},{name:"Result delimiter",type:"binaryShortString",value:Code.XPATH_DELIMITER}]},"CSS selector":{description:"Extract information from an HTML document with a CSS selector",run:Code.runCSSQuery,inputType:"string",outputType:"string",args:[{name:"CSS selector",type:"string",value:Code.CSS_SELECTOR_INITIAL},{name:"Delimiter",type:"binaryShortString",value:Code.CSS_QUERY_DELIMITER}]},"From UNIX Timestamp":{description:"Converts a UNIX timestamp to a datetime string.<br><br>e.g. <code>978346800</code> becomes <code>Mon 1 January 2001 11:00:00 UTC</code>",run:DateTime.runFromUnixTimestamp,inputType:"number",outputType:"string",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"To UNIX Timestamp":{description:"Parses a datetime string and returns the corresponding UNIX timestamp.<br><br>e.g. <code>Mon 1 January 2001 11:00:00 UTC</code> becomes <code>978346800</code>",run:DateTime.runToUnixTimestamp,inputType:"string",outputType:"number",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"Translate DateTime Format":{description:"Parses a datetime string in one format and re-writes it in another.<br><br>Run with no input to see the relevant format string examples.",run:DateTime.runTranslateFormat,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES},{name:"Output format string",type:"binaryString",value:DateTime.OUTPUT_FORMAT_STRING},{name:"Output timezone",type:"option",value:DateTime.TIMEZONES}]},"Parse DateTime":{description:"Parses a DateTime string in your specified format and displays it in whichever timezone you choose with the following information:<ul><li>Date</li><li>Time</li><li>Period (AM/PM)</li><li>Timezone</li><li>UTC offset</li><li>Daylight Saving Time</li><li>Leap year</li><li>Days in this month</li><li>Day of year</li><li>Week number</li><li>Quarter</li></ul>Run with no input to see format string examples if required.",run:DateTime.runParse,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES}]},"Convert distance":{description:"Converts a unit of distance to another format.",run:Convert.runDistance,inputType:"number",outputType:"number",Line truncated
|
||||
},ControlsWaiter.prototype.slrCheckChange=function(){this.initialiseSaveLink()},ControlsWaiter.prototype.sliCheckChange=function(){this.initialiseSaveLink()},ControlsWaiter.prototype.loadClick=function(){this.populateLoadRecipesList(),$("#load-modal").modal()},ControlsWaiter.prototype.saveButtonClick=function(){var a=document.getElementById("save-name").value,b=document.getElementById("save-text").value;if(!a)return void this.app.alert("Please enter a recipe name","danger",2e3);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=localStorage.recipeId||0;c.push({id:++d,name:a,recipe:b}),localStorage.savedRecipes=JSON.stringify(c),localStorage.recipeId=d,this.app.alert('Recipe saved as "'+a+'".',"success",2e3)},ControlsWaiter.prototype.populateLoadRecipesList=function(){for(var a=document.getElementById("load-name"),b=a.options.length;b--;)a.remove(b);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];for(b=0;b<c.length;b++){var d=document.createElement("option");d.value=c[b].id,d.innerHTML=c[b].name,a.appendChild(d)}document.getElementById("load-text").value=c.length?c[0].recipe:""},ControlsWaiter.prototype.loadDeleteClick=function(){var a=parseInt(document.getElementById("load-name").value,10),b=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];b=b.filter(function(b){return b.id!==a}),localStorage.savedRecipes=JSON.stringify(b),this.populateLoadRecipesList()},ControlsWaiter.prototype.loadNameChange=function(a){var b=a.target,c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=parseInt(b.value,10),e=c.filter(function(a){return a.id===d})[0];document.getElementById("load-text").value=e.recipe},ControlsWaiter.prototype.loadButtonClick=function(){try{var a=JSON.parse(document.getElementById("load-text").value);this.app.setRecipeConfig(a),$("#rec-list [data-toggle=popover]").popover()}catch(a){this.app.alert("Invalid recipe","danger",2e3)}},ControlsWaiter.prototype.supportButtonClick=function(){var a=document.getElementById("report-bug-info"),b=this.generateStateUrl(!0,!0,null,"https://gchq.github.io/CyberChef/");a.innerHTML="* CyberChef compile time: 21/03/2017 23:08:31 UTC\n* User-Agent: \n"+navigator.userAgent+"\n* [Link to reproduce]("+b+")\n\n"};var HighlighterWaiter=function(a){this.app=a,this.mouseButtonDown=!1,this.mouseTarget=null};HighlighterWaiter.INPUT=0,HighlighterWaiter.OUTPUT=1,HighlighterWaiter.prototype._isSelectionBackwards=function(){var a=!1,b=window.getSelection();if(!b.isCollapsed){var c=document.createRange();c.setStart(b.anchorNode,b.anchorOffset),c.setEnd(b.focusNode,b.focusOffset),a=c.collapsed,c.detach()}return a},HighlighterWaiter.prototype._getOutputHtmlOffset=function(a,b){var c=window.getSelection(),d=document.createRange();return d.selectNodeContents(document.getElementById("output-html")),d.setEnd(a,b),c.removeAllRanges(),c.addRange(d),c.toString().length},HighlighterWaiter.prototype._getOutputHtmlSelectionOffsets=function(){var a,b=window.getSelection(),c=0,d=0,e=!1;return b.rangeCount&&(a=b.getRangeAt(b.rangeCount-1),e=this._isSelectionBackwards(),c=this._getOutputHtmlOffset(a.startContainer,a.startOffset),d=this._getOutputHtmlOffset(a.endContainer,a.endOffset),b.removeAllRanges(),b.addRange(a),e&&(b.collapseToEnd(),b.extend(b.anchorNode,a.startOffset))),{start:c,end:d}},HighlighterWaiter.prototype.inputScroll=function(a){var b=a.target;document.getElementById("input-highlighter").scrollTop=b.scrollTop,document.getElementById("input-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.outputScroll=function(a){var b=a.target;document.getElementById("output-highlighter").scrollTop=b.scrollTop,document.getElementById("output-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.inputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.INPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("input-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightOutput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightInput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputHtmlMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT;var b=this._getOutputHtmlSelectionOffsets();0===b.start&&0===b.end||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(b.start,b.end))},HighlighterWaiter.prototype.inputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputHtmlMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.inputMousemove=funcLine truncated
|
||||
this.addDynamicListener(".op-list","oplistcreate",this.ops.opListCreate,this.ops),this.addDynamicListener("li.operation","operationadd",this.recipe.opAdd.bind(this.recipe)),this.addDynamicListener(".arg","keyup",this.recipe.ingChange,this.recipe),this.addDynamicListener(".arg","change",this.recipe.ingChange,this.recipe),this.addDynamicListener(".disable-icon","click",this.recipe.disableClick,this.recipe),this.addDynamicListener(".breakpoint","click",this.recipe.breakpointClick,this.recipe),this.addDynamicListener("#rec-list li.operation","dblclick",this.recipe.operationDblclick,this.recipe),this.addDynamicListener("#rec-list li.operation > div","dblclick",this.recipe.operationChildDblclick,this.recipe),this.addDynamicListener("#rec-list .input-group .dropdown-menu a","click",this.recipe.dropdownToggleClick,this.recipe),this.addDynamicListener("#rec-list","operationremove",this.recipe.opRemove.bind(this.recipe)),this.addMultiEventListener("#input-text","keyup paste",this.input.inputChange,this.input),document.getElementById("reset-layout").addEventListener("click",this.app.resetLayout.bind(this.app)),document.getElementById("clr-io").addEventListener("click",this.input.clearIoClick.bind(this.input)),document.getElementById("input-text").addEventListener("dragover",this.input.inputDragover.bind(this.input)),document.getElementById("input-text").addEventListener("dragleave",this.input.inputDragleave.bind(this.input)),document.getElementById("input-text").addEventListener("drop",this.input.inputDrop.bind(this.input)),document.getElementById("input-text").addEventListener("scroll",this.highlighter.inputScroll.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mouseup",this.highlighter.inputMouseup.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mousemove",this.highlighter.inputMousemove.bind(this.highlighter)),this.addMultiEventListener("#input-text","mousedown dblclick select",this.highlighter.inputMousedown,this.highlighter),document.getElementById("save-to-file").addEventListener("click",this.output.saveClick.bind(this.output)),document.getElementById("switch").addEventListener("click",this.output.switchClick.bind(this.output)),document.getElementById("undo-switch").addEventListener("click",this.output.undoSwitchClick.bind(this.output)),document.getElementById("maximise-output").addEventListener("click",this.output.maximiseOutputClick.bind(this.output)),document.getElementById("output-text").addEventListener("scroll",this.highlighter.outputScroll.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mouseup",this.highlighter.outputMouseup.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mousemove",this.highlighter.outputMousemove.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mouseup",this.highlighter.outputHtmlMouseup.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mousemove",this.highlighter.outputHtmlMousemove.bind(this.highlighter)),this.addMultiEventListener("#output-text","mousedown dblclick select",this.highlighter.outputMousedown,this.highlighter),this.addMultiEventListener("#output-html","mousedown dblclick select",this.highlighter.outputHtmlMousedown,this.highlighter),document.getElementById("options").addEventListener("click",this.options.optionsClick.bind(this.options)),document.getElementById("reset-options").addEventListener("click",this.options.resetOptionsClick.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.switchChange.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.setWordWrap.bind(this.options)),this.addDynamicListener(".option-item input[type=number]","keyup",this.options.numberChange,this.options),this.addDynamicListener(".option-item input[type=number]","change",this.options.numberChange,this.options),this.addDynamicListener(".option-item select","change",this.options.selectChange,this.options),document.getElementById("alert-close").addEventListener("click",this.app.alertCloseClick.bind(this.app))},Manager.prototype.addListeners=function(a,b,c,d){d=d||this,[].forEach.call(document.querySelectorAll(a),function(a){a.addEventListener(b,c.bind(d))})},Manager.prototype.addMultiEventListener=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)document.querySelector(a).addEventListener(e[f],c.bind(d))},Manager.prototype.addMultiEventListeners=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)this.addListeners(a,e[f],c,d)},Manager.prototype.addDynamicListener=function(a,b,c,d){var e={selector:a,callback:c.bind(d||this)};this.dynamicHandlers.hasOwnProperty(b)?this.dynamicHandlers[b].push(e):(this.dynamicHandlers[b]=[e],document.addEventListener(b,this.dynamicListenerHandler.bind(this)))},Manager.prototype.dynamicListenerHandler=function(a){for(var b=this.dynamicHandlers[a.tLine truncated
|
||||
@@ -1,21 +0,0 @@
|
||||
<!--
|
||||
CyberChef - The Cyber Swiss Army Knife
|
||||
|
||||
@copyright Crown Copyright 2016
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright 2016 Crown Copyright
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>CyberChef</title><meta name="copyright" content="Crown Copyright 2016"><meta name="description" content="The Cyber Swiss Army Knife"><meta name="keywords" content="base64, hex, decode, encode, encrypt, decrypt, compress, decompress, regex, regular expressions, hash, crypt, hexadecimal, user agent, url, certificate, x.509, parser, JSON, gzip, md5, sha1, aes, des, blowfish, xor"><link rel="icon" type="image/png" href="data:image/x-icon;base64,AAABAAEAEA8AAAEAIAAkBAAAFgAAACgAAAAQAAAAHgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwP5CQkE+Ojo5OiIiIS4aGhkt8fHxLe3t7S4GBgU6Hh4dWZWVlMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaWlrvS0tL/0dHR/9HR0f/Pz8/+qamp/6ysrP+srKz/rKys/3h4eJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKioqix8fH/8bGxv/Gxsb/xcXF/pqamv+cnJz/nJyc/5ycnP9paWl/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwyOjo6P/m5ub/5ubm/+Xl5f7Ly8v/zc3N/83Nzf/Ozs7/lZWVowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxscfn5+f/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/zc3N/5KSkqIAAAAAYWFhDwAAAAAEBAQA////AAAAAACqqqrI5+fn/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/83Nzf+wsLDcnp6eo6urq8pjY2MbAAAAAAAAAACVlZWm4uLi/+bm5v/m5ub/5ubm/+Tk5P7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP+8vLz7bGxsLQAAAACioqJ+6Ojo/+bm5v7l5eX/5ubm/+bm5v/l5eX+ysrK/8zMzP/MzMz/zMzM/8zMzP/MzMz/t7e33Y2NjVxFRUULx8fHwubm5v/m5ub/5ubm/+bm5v/m5ub+5eXl/8rKyv7MzMz/zMzM/8zMzP/MzMz/zMzM/svLy//Hx8f/WlpaDcnJycnm5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP/Dw8P3oKCgxQAAAAG1tbWZ5+fn/+Xl5f7m5ub/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/y8vL/szMzP/Nzc3/tbW15UNDQxgAAAAAAAAAD76+vuLo6Oj/5ubm/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/8zMzP/BwcH9tra2+L29vflpaWkuR0dHAAAAAAAAAAAAiYmJZKurq4uXl5d909PT7eXl5f/MzMz/x8fH/6qqqty9vb3/g4ODlQAAABFra2tAAAAAAAAAAAAbGxsAAAAAAAAAAAAAAAAAAAAAAG9vbyOTk5N5j4+PnHl5eVZCQkIVkpKSJmNjYxEAAAAAAAAAAAAAAAD//wAA//8AAOAHAADgDwAA4AcAAOAHAADgAQAAwAEAAMABAACAAAAAgAAAAIABAADAAQAA9AcAAP9/AAA="><link href="styles.css" rel="stylesheet"></head><body><span id="edit-favourites" class="btn btn-default btn-sm"><img src="images/favourite-16x16.png"> Edit</span><div id="alert" class="alert alert-danger"><button type="button" class="close" id="alert-close">×</button> <span id="alert-content"></span></div><div id="content-wrapper"><div id="banner" class="green"><a href="cyberchef.htm" style="float:left;margin-left:10px;margin-right:80px" download>Download CyberChef<img src="images/download-24x24.png"></a><span id="notice"><script type="text/javascript">navigator.userAgent&&navigator.userAgent.match(/MSIE \d\d?\./)&&(document.write("Internet Explorer is not supported, please use Firefox or Chrome instead"),alert("Internet Explorer is not supported, please use Firefox or Chrome instead"))</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="images/help-22x22.png"></a><a href="#" id="options" class="banner-right">Options<img src="images/settings-22x22.png"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="images/cook_male-32x32.png"> Bake!</button><label class="btn btn-success btn-lg" id="auto-bake-label"><input type="checkbox" checked="checked" id="auto-bake"><div>Auto Bake</div></label></div><div class="btn-group" style="padding-top:10px"><button type="button" class="btn btn-default" id="step"><img src="images/step-16x16.png"> Step through</button> <button type="button" class="btn btn-default" id="clr-breaks"><img src="images/erase-16x16.png"> Clear breakpoints</button></div></div><div class="btn-group-vertical" id="extra-controls"><button type="button" class="btn btn-default" id="save"><img src="images/save-16x16.png"> Save recipe</button> <button type="button" class="btn btn-default" id="load"><img src="images/open_yellow-16x16.png"> Load recipe</button> <button type="button" class="btn btn-default" id="clr-recipe"><img src="images/clean-16x16.png"> Clear recipe</button></div></div></div><div class="split split-horizontal" id="IO"><div id="input" class="split no-select"><div class="title no-select">Input<div class="btn-group io-btn-group"><button type="button" class="btn btn-default btn-sm" id="clr-io"><img src="images/recycle-16x16.png"> Clear I/O</button> <button type="button" class="btn btn-default btn-sm" id="reset-layout"><img src="images/layout-16x16.png"> Reset layLine truncated
|
||||
@@ -1,292 +0,0 @@
|
||||
/**
|
||||
* CyberChef - The Cyber Swiss Army Knife
|
||||
*
|
||||
* @copyright Crown Copyright 2016
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright 2016 Crown Copyright
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
"use strict";function BigInteger(a,b,c){null!=a&&("number"==typeof a?this.fromNumber(a,b,c):null==b&&"string"!=typeof a?this.fromString(a,256):this.fromString(a,b))}function nbi(){return new BigInteger(null)}function am1(a,b,c,d,e,f){for(;--f>=0;){var g=b*this[a++]+c[d]+e;e=Math.floor(g/67108864),c[d++]=67108863&g}return e}function am2(a,b,c,d,e,f){for(var g=32767&b,h=b>>15;--f>=0;){var i=32767&this[a],j=this[a++]>>15,k=h*i+j*g;i=g*i+((32767&k)<<15)+c[d]+(1073741823&e),e=(i>>>30)+(k>>>15)+h*j+(e>>>30),c[d++]=1073741823&i}return e}function am3(a,b,c,d,e,f){for(var g=16383&b,h=b>>14;--f>=0;){var i=16383&this[a],j=this[a++]>>14,k=h*i+j*g;i=g*i+((16383&k)<<14)+c[d]+e,e=(i>>28)+(k>>14)+h*j,c[d++]=268435455&i}return e}function int2char(a){return BI_RM.charAt(a)}function intAt(a,b){var c=BI_RC[a.charCodeAt(b)];return null==c?-1:c}function bnpCopyTo(a){for(var b=this.t-1;b>=0;--b)a[b]=this[b];a.t=this.t,a.s=this.s}function bnpFromInt(a){this.t=1,this.s=a<0?-1:0,a>0?this[0]=a:a<-1?this[0]=a+this.DV:this.t=0}function nbv(a){var b=nbi();return b.fromInt(a),b}function bnpFromString(a,b){var c;if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else{if(4!=b)return void this.fromRadix(a,b);c=2}this.t=0,this.s=0;for(var d=a.length,e=!1,f=0;--d>=0;){var g=8==c?255&a[d]:intAt(a,d);g<0?"-"==a.charAt(d)&&(e=!0):(e=!1,0==f?this[this.t++]=g:f+c>this.DB?(this[this.t-1]|=(g&(1<<this.DB-f)-1)<<f,this[this.t++]=g>>this.DB-f):this[this.t-1]|=g<<f,f+=c,f>=this.DB&&(f-=this.DB))}8==c&&0!=(128&a[0])&&(this.s=-1,f>0&&(this[this.t-1]|=(1<<this.DB-f)-1<<f)),this.clamp(),e&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var a=this.s&this.DM;this.t>0&&this[this.t-1]==a;)--this.t}function bnToString(a){if(this.s<0)return"-"+this.negate().toString(a);var b;if(16==a)b=4;else if(8==a)b=3;else if(2==a)b=1;else if(32==a)b=5;else{if(4!=a)return this.toRadix(a);b=2}var c,d=(1<<b)-1,e=!1,f="",g=this.t,h=this.DB-g*this.DB%b;if(g-- >0)for(h<this.DB&&(c=this[g]>>h)>0&&(e=!0,f=int2char(c));g>=0;)h<b?(c=(this[g]&(1<<h)-1)<<b-h,c|=this[--g]>>(h+=this.DB-b)):(c=this[g]>>(h-=b)&d,h<=0&&(h+=this.DB,--g)),c>0&&(e=!0),e&&(f+=int2char(c));return e?f:"0"}function bnNegate(){var a=nbi();return BigInteger.ZERO.subTo(this,a),a}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var b=this.s-a.s;if(0!=b)return b;var c=this.t;if(b=c-a.t,0!=b)return this.s<0?-b:b;for(;--c>=0;)if(0!=(b=this[c]-a[c]))return b;return 0}function nbits(a){var b,c=1;return 0!=(b=a>>>16)&&(a=b,c+=16),0!=(b=a>>8)&&(a=b,c+=8),0!=(b=a>>4)&&(a=b,c+=4),0!=(b=a>>2)&&(a=b,c+=2),0!=(b=a>>1)&&(a=b,c+=1),c}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(a,b){var c;for(c=this.t-1;c>=0;--c)b[c+a]=this[c];for(c=a-1;c>=0;--c)b[c]=0;b.t=this.t+a,b.s=this.s}function bnpDRShiftTo(a,b){for(var c=a;c<this.t;++c)b[c-a]=this[c];b.t=Math.max(this.t-a,0),b.s=this.s}function bnpLShiftTo(a,b){var c,d=a%this.DB,e=this.DB-d,f=(1<<e)-1,g=Math.floor(a/this.DB),h=this.s<<d&this.DM;for(c=this.t-1;c>=0;--c)b[c+g+1]=this[c]>>e|h,h=(this[c]&f)<<d;for(c=g-1;c>=0;--c)b[c]=0;b[g]=h,b.t=this.t+g+1,b.s=this.s,b.clamp()}function bnpRShiftTo(a,b){b.s=this.s;var c=Math.floor(a/this.DB);if(c>=this.t)return void(b.t=0);var d=a%this.DB,e=this.DB-d,f=(1<<d)-1;b[0]=this[c]>>d;for(var g=c+1;g<this.t;++g)b[g-c-1]|=(this[g]&f)<<e,b[g-c]=this[g]>>d;d>0&&(b[this.t-c-1]|=(this.s&f)<<e),b.t=this.t-c,b.clamp()}function bnpSubTo(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);c<e;)d+=this[c]-a[c],b[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d-=a.s;c<this.t;)d+=this[c],b[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d-=a[c],b[c++]=d&this.DM,d>>=this.DB;d-=a.s}b.s=d<0?-1:0,d<-1?b[c++]=this.DV+d:d>0&&(b[c++]=d),b.t=c,b.clamp()}function bnpMultiplyTo(a,b){var c=this.abs(),d=a.abs(),e=c.t;for(b.t=e+d.t;--e>=0;)b[e]=0;for(e=0;e<d.t;++e)b[e+c.t]=c.am(0,d[e],b,e,0,c.t);b.s=0,b.clamp(),this.s!=a.s&&BigInteger.ZERO.subTo(b,b)}function bnpSquareTo(a){for(var b=this.abs(),c=a.t=2*b.t;--c>=0;)a[c]=0;for(c=0;c<b.t-1;++c){var d=b.am(c,b[c],a,2*c,0,1);(a[c+b.t]+=b.am(c+1,2*b[c],a,2*c+1,d,b.t-c-1))>=b.DV&&(a[c+b.t]-=b.DV,a[c+b.t+1]=1)}a.t>0&&(a[a.t-1]+=b.am(c,b[c],a,2*c,0,1)),a.s=0,a.clamp()}function bnpDivRemTo(a,b,c){var d=a.abs();if(!(d.t<=0)){var e=this.abs();if(e.t<d.t)return null!=b&&b.fromInt(0),void(null!=c&&this.copyTo(c));null==c&&(c=nbi());var f=nbi(),g=this.s,h=a.s,i=this.DB-nbits(d[d.t-1]);i>0?(d.lShiftTo(i,f),e.lShiftTo(i,c)):(d.copyTo(f),e.copyTo(c));var j=f.t,k=f[j-1];if(0!=k){var l=k*(1<<this.F1)+(j>1?f[j-2]>>this.F2:0),m=this.FV/l,n=(1<<this.F1)/l,o=1<<this.F2,p=c.t,q=p-j,r=null==b?nbi():b;for(f.dlShiftTo(q,r),c.compareTo(r)>=0&&(c[c.t++]=1,c.subTo(r,c)),BigInteger.ONE.dlShiftTo(j,r),r.subTo(f,f);f.t<j;)f[f.t++]=0;for(;--q>=0;){var s=c[--p]==k?this.DM:Math.floor(c[p]*m+(c[p-1]+o)*n);if((c[p]+=f.am(0,s,c,q,0,j))<s)for(f.dlShiftTo(q,r),c.subTo(r,c);c[p]<--s;)c.subTo(r,c)}null!=b&&(c.drShiftTo(j,Line truncated
|
||||
========================================================================
|
||||
The 'jsrsasign'(RSA-Sign JavaScript Library) License
|
||||
|
||||
Copyright (c) 2010-2013 Kenji Urushima
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
*/
|
||||
function X509(){this.subjectPublicKeyRSA=null,this.subjectPublicKeyRSA_hN=null,this.subjectPublicKeyRSA_hE=null,this.hex=null,this.getSerialNumberHex=function(){return ASN1HEX.getDecendantHexVByNthList(this.hex,0,[0,1])},this.getIssuerHex=function(){return ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,3])},this.getIssuerString=function(){return X509.hex2dn(ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,3]))},this.getSubjectHex=function(){return ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,5])},this.getSubjectString=function(){return X509.hex2dn(ASN1HEX.getDecendantHexTLVByNthList(this.hex,0,[0,5]))},this.getNotBefore=function(){var a=ASN1HEX.getDecendantHexVByNthList(this.hex,0,[0,4,0]);return a=a.replace(/(..)/g,"%$1"),a=decodeURIComponent(a)},this.getNotAfter=function(){var a=ASN1HEX.getDecendantHexVByNthList(this.hex,0,[0,4,1]);return a=a.replace(/(..)/g,"%$1"),a=decodeURIComponent(a)},this.readCertPEM=function(a){var b=X509.pemToHex(a),c=X509.getPublicKeyHexArrayFromCertHex(b),d=new RSAKey;d.setPublic(c[0],c[1]),this.subjectPublicKeyRSA=d,this.subjectPublicKeyRSA_hN=c[0],this.subjectPublicKeyRSA_hE=c[1],this.hex=b},this.readCertPEMWithoutRSAInit=function(a){var b=X509.pemToHex(a),c=X509.getPublicKeyHexArrayFromCertHex(b);this.subjectPublicKeyRSA.setPublic(c[0],c[1]),this.subjectPublicKeyRSA_hN=c[0],this.subjectPublicKeyRSA_hE=c[1],this.hex=b}}/** @license
|
||||
========================================================================
|
||||
Bootstrap v3.3.6 (http://getbootstrap.com)
|
||||
Copyright 2011-2016 Twitter, Inc.
|
||||
Licensed under the MIT license
|
||||
*/
|
||||
if(function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=_.type(a);return"function"!==c&&!_.isWindow(a)&&(!(1!==a.nodeType||!b)||("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a))}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+Math.random()}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c)}catch(a){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;c<d;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Na[0].contentDocument,b.write(),b.close(),c=t(a,b),Na.detach()),Oa[a]=c),c}function v(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||_.contains(a.ownerDocument,a)||(g=_.style(a,b)),Qa.test(g)&&Pa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function w(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function x(a,b){if(b in a)return b;for(var c=b[0].toUpperCase()+b.slice(1),d=b,e=Xa.length;e--;)if(b=Xa[e]+c,b in a)return b;return d}function y(a,b,c){var d=Ta.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function z(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=_.css(a,c+wa[f],!0,e)),d?("content"===c&&(g-=_.css(a,"padding"+wa[f],!0,e)),"margin"!==c&&(g-=_.css(a,"border"+wa[f]+"Width",!0,e))):(g+=_.css(a,"padding"+wa[f],!0,e),"padding"!==c&&(g+=_.css(a,"border"+wa[f]+"Width",!0,e)));return g}function A(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g="border-box"===_.css(a,"boxSizing",!1,f);if(e<=0||null==e){if(e=v(a,b,f),(e<0||null==e)&&(e=a.style[b]),Qa.test(e))return e;d=g&&(Y.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+z(a,b,c||(g?"border":"content"),d,f)+"px"}function B(a,b){for(var c,d,e,f=[],g=0,h=a.length;g<h;g++)d=a[g],d.style&&(f[g]=ra.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&xa(d)&&(f[g]=ra.access(d,"olddisplay",u(d.nodeName)))):(e=xa(d),"none"===c&&e||ra.set(d,"olddisplay",e?c:_.css(d,"display"))));for(g=0;g<h;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function C(a,b,c,d,e){return new C.prototype.init(a,b,c,d,e)}function D(){return setTimeout(function(){Ya=void 0}),Ya=_.now()}function E(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=wa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function F(a,b,c){for(var d,e=(cb[b]||[]).concat(cb["*"]),f=0,g=e.length;f<g;f++Line truncated
|
||||
}));for(b=0;b<c;b++)_.find(a,e[b],d);return d=this.pushStack(c>1?_.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(d(this,a||[],!1))},not:function(a){return this.pushStack(d(this,a||[],!0))},is:function(a){return!!d(this,"string"==typeof a&&fa.test(a)?_(a):a||[],!1).length}});var ia,ja=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ka=_.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:ja.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||ia).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof _?b[0]:b,_.merge(this,_.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:Z,!0)),ga.test(c[1])&&_.isPlainObject(b))for(c in b)_.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=Z.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=Z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):_.isFunction(a)?"undefined"!=typeof ia.ready?ia.ready(a):a(_):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),_.makeArray(a,this))};ka.prototype=_.fn,ia=_(Z);var la=/^(?:parents|prev(?:Until|All))/,ma={children:!0,contents:!0,next:!0,prev:!0};_.extend({dir:function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&_(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),_.fn.extend({has:function(a){var b=_(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(_.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=fa.test(a)||"string"!=typeof a?_(a,b||this.context):0;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&_.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?_.unique(f):f)},index:function(a){return a?"string"==typeof a?U.call(_(a),this[0]):U.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(_.unique(_.merge(this.get(),_(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),_.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return _.dir(a,"parentNode")},parentsUntil:function(a,b,c){return _.dir(a,"parentNode",c)},next:function(a){return e(a,"nextSibling")},prev:function(a){return e(a,"previousSibling")},nextAll:function(a){return _.dir(a,"nextSibling")},prevAll:function(a){return _.dir(a,"previousSibling")},nextUntil:function(a,b,c){return _.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return _.dir(a,"previousSibling",c)},siblings:function(a){return _.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return _.sibling(a.firstChild)},contents:function(a){return a.contentDocument||_.merge([],a.childNodes)}},function(a,b){_.fn[a]=function(c,d){var e=_.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=_.filter(d,e)),this.length>1&&(ma[a]||_.unique(e),la.test(a)&&e.reverse()),this.pushStack(e)}});var na=/\S+/g,oa={};_.Callbacks=function(a){a="string"==typeof a?oa[a]||f(a):_.extend({},a);var b,c,d,e,g,h,i=[],j=!a.once&&[],k=function(f){for(b=a.memory&&f,c=!0,h=e||0,e=0,g=i.length,d=!0;i&&h<g;h++)if(i[h].apply(f[0],f[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,i&&(j?j.length&&k(j.shift()):b?i=[]:l.disable())},l={add:function(){if(i){var c=i.length;!function b(c){_.each(c,function(c,d){var e=_.type(d);"function"===e?a.unique&&l.has(d)||i.push(d):d&&d.length&&"string"!==e&&b(d)})}(arguments),d?g=i.length:b&&(e=c,k(b))}return this},remove:function(){return i&&_.each(arguments,function(a,b){for(var c;(c=_.inArray(b,i,c))>-1;)i.splice(c,1),d&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return a?_.inArray(a,i)>-1:!(!i||!i.length)},empty:function(){return i=[],g=0,this},disable:function(){return i=j=b=void 0,this},disabled:function(){return!i},lock:function(){return j=void 0,b||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return!i||c&&!j||(b=b||[],b=[a,b.slice?b.slice():b],d?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!c}};return l},_.extend({Deferred:function(a){var b=[["resolve","done",_.Callbacks("once memory"),"resolved"],["reject","fail",_.Callbacks("once memory"),"rejected"],["notify","progress",_.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return _.Deferred(function(c){_.each(b,function(b,f){var g=_.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&_.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){retLine truncated
|
||||
_.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(E(b,!0),a,d,e)}}),_.each({slideDown:E("show"),slideUp:E("hide"),slideToggle:E("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){_.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),_.timers=[],_.fx.tick=function(){var a,b=0,c=_.timers;for(Ya=_.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||_.fx.stop(),Ya=void 0},_.fx.timer=function(a){_.timers.push(a),a()?_.fx.start():_.timers.pop()},_.fx.interval=13,_.fx.start=function(){Za||(Za=setInterval(_.fx.tick,_.fx.interval))},_.fx.stop=function(){clearInterval(Za),Za=null},_.fx.speeds={slow:600,fast:200,_default:400},_.fn.delay=function(a,b){return a=_.fx?_.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=Z.createElement("input"),b=Z.createElement("select"),c=b.appendChild(Z.createElement("option"));a.type="checkbox",Y.checkOn=""!==a.value,Y.optSelected=c.selected,b.disabled=!0,Y.optDisabled=!c.disabled,a=Z.createElement("input"),a.value="t",a.type="radio",Y.radioValue="t"===a.value}();var db,eb,fb=_.expr.attrHandle;_.fn.extend({attr:function(a,b){return qa(this,_.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){_.removeAttr(this,a)})}}),_.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===za?_.prop(a,b,c):(1===f&&_.isXMLDoc(a)||(b=b.toLowerCase(),d=_.attrHooks[b]||(_.expr.match.bool.test(b)?eb:db)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=_.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void _.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(na);if(f&&1===a.nodeType)for(;c=f[e++];)d=_.propFix[c]||c,_.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!Y.radioValue&&"radio"===b&&_.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),eb={set:function(a,b,c){return b===!1?_.removeAttr(a,c):a.setAttribute(c,c),c}},_.each(_.expr.match.bool.source.match(/\w+/g),function(a,b){var c=fb[b]||_.find.attr;fb[b]=function(a,b,d){var e,f;return d||(f=fb[b],fb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,fb[b]=f),e}});var gb=/^(?:input|select|textarea|button)$/i;_.fn.extend({prop:function(a,b){return qa(this,_.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[_.propFix[a]||a]})}}),_.extend({propFix:{for:"htmlFor",class:"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!_.isXMLDoc(a),f&&(b=_.propFix[b]||b,e=_.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||gb.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),Y.optSelected||(_.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),_.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){_.propFix[this.toLowerCase()]=this});var hb=/[\t\r\n\f]/g;_.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(na)||[];i<j;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hb," "):" ")){for(f=0;e=b[f++];)d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=_.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(na)||[];i<j;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hb," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");g=a?_.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):_.isFunction(a)?this.each(function(c){_(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if("string"===c)for(var b,d=0,e=_(this),f=a.match(na)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else c!==za&&"boolean"!==c||(this.className&&ra.set(this,"__className__",this.className),this.className=this.className||a===!1?"":ra.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;c<d;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(hb," ").indexOf(b)>=0)return!0;return!1}});var ib=/\r/g;_.fn.extend({val:function(a){var b,c,d,e=tLine truncated
|
||||
a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.trLine truncated
|
||||
========================================================================
|
||||
bootstrap-switch - v3.1.0
|
||||
http://www.bootstrap-switch.org
|
||||
Copyright 2012-2013 Mattia Larentis
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
function(){var a=[].slice;!function(b,c){var d;return d=function(){function a(a,c){null==c&&(c={}),this.$element=b(a),this.options=b.extend({},b.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),inverse:this.$element.data("inverse"),radioAllOff:this.$element.data("radio-all-off"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class")},c),this.$wrapper=b("<div>",{class:function(a){return function(){var b;return b=[""+a.options.baseClass].concat(a._getClasses(a.options.wrapperClass)),b.push(a.options.state?""+a.options.baseClass+"-on":""+a.options.baseClass+"-off"),null!=a.options.size&&b.push(""+a.options.baseClass+"-"+a.options.size),a.options.animate&&b.push(""+a.options.baseClass+"-animate"),a.options.disabled&&b.push(""+a.options.baseClass+"-disabled"),a.options.readonly&&b.push(""+a.options.baseClass+"-readonly"),a.options.indeterminate&&b.push(""+a.options.baseClass+"-indeterminate"),a.options.inverse&&b.push(""+a.options.baseClass+"-inverse"),a.$element.attr("id")&&b.push(""+a.options.baseClass+"-id-"+a.$element.attr("id")),b.join(" ")}}(this)()}),this.$container=b("<div>",{class:""+this.options.baseClass+"-container"}),this.$on=b("<span>",{html:this.options.onText,class:""+this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=b("<span>",{html:this.options.offText,class:""+this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=b("<label>",{html:this.options.labelText,class:""+this.options.baseClass+"-label"}),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this.$element.on("init.bootstrapSwitch",function(b){return function(){return b.options.onInit.apply(a,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(b){return function(){return b.options.onSwitchChange.apply(a,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off).trigger("init.bootstrapSwitch"),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler()}return a.prototype._constructor=a,a.prototype.state=function(a,b){return"undefined"==typeof a?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(this.options.indeterminate?(this.indeterminate(!1),a=!0):a=!!a,this.$element.prop("checked",a).trigger("change.bootstrapSwitch",b),this.$element)},a.prototype.toggleState=function(a){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",a)},a.prototype.size=function(a){return"undefined"==typeof a?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+"-"+this.options.size),a&&this.$wrapper.addClass(""+this.options.baseClass+"-"+a),this.options.size=a,this.$element)},a.prototype.animate=function(a){return"undefined"==typeof a?this.options.animate:(a=!!a,this.$wrapper[a?"addClass":"removeClass"](""+this.options.baseClass+"-animate"),this.options.animate=a,this.$element)},a.prototype.toggleAnimate=function(){return this.$wrapper.toggleClass(""+this.options.baseClass+"-animate"),this.options.animate=!this.options.animate,this.$element},a.prototype.disabled=function(a){return"undefined"==typeof a?this.options.disabled:(a=!!a,this.$wrapper[a?"addClass":"removeClass"](""+this.options.baseClass+"-disabled"),this.$element.prop("disabled",a),this.options.disabled=a,this.$element)},a.prototype.toggleDisabled=function(){return this.$element.prop("disabled",!this.options.disabled),this.$wrapper.toggleClass(""+this.options.baseClass+"-disabled"),this.options.disabled=!this.options.disabled,this.$element},a.prototype.readonly=function(a){return"undefined"==typeof a?this.options.readonly:(a=!!a,this.$wrapper[a?"addClass":"removeClass"](""+this.options.baseClass+"-readonly"),this.$element.prop("readonly",a),this.options.readonly=a,this.$element)},a.prototype.toggleReadonly=function(){return this.$element.prop("readonly",!this.options.readonly),this.$wrapper.toggleClass(""+this.options.baseClass+"-readonly"),this.options.readonly=!this.options.readonly,this.$element},a.prototype.indeterminate=function(a){return"undefined"==typeof a?this.options.iLine truncated
|
||||
========================================================================
|
||||
Copyright (c) 2011, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.com/yui/license.html
|
||||
version: 2.9.0
|
||||
*/
|
||||
var typeof_yahoo=typeof YAHOO;if("undefined"==typeof_yahoo||!YAHOO)var YAHOO={};YAHOO.namespace=function(){var a,b,c,d=arguments,e=null;for(a=0;a<d.length;a+=1)for(c=(""+d[a]).split("."),e=YAHOO,b="YAHOO"==c[0]?1:0;b<c.length;b+=1)e[c[b]]=e[c[b]]||{},e=e[c[b]];return e},YAHOO.log=function(a,b,c){var d=YAHOO.widget.Logger;return!(!d||!d.log)&&d.log(a,b,c)},YAHOO.register=function(a,b,c){var d,e,f,g,h,i=YAHOO.env.modules;for(i[a]||(i[a]={versions:[],builds:[]}),d=i[a],e=c.version,f=c.build,g=YAHOO.env.listeners,d.name=a,d.version=e,d.build=f,d.versions.push(e),d.builds.push(f),d.mainClass=b,h=0;h<g.length;h+=1)g[h](d);b?(b.VERSION=e,b.BUILD=f):YAHOO.log("mainClass is undefined for module "+a,"warn")},YAHOO.env=YAHOO.env||{modules:[],listeners:[]},YAHOO.env.getVersion=function(a){return YAHOO.env.modules[a]||null},YAHOO.env.parseUA=function(a){var b,c=function(a){var b=0;return parseFloat(a.replace(/\./g,function(){return 1==b++?"":"."}))},d=navigator,e={ie:0,opera:0,gecko:0,webkit:0,chrome:0,mobile:null,air:0,ipad:0,iphone:0,ipod:0,ios:null,android:0,webos:0,caja:d&&d.cajaVersion,secure:!1,os:null},f=a||navigator&&navigator.userAgent,g=window&&window.location,h=g&&g.href;return e.secure=h&&0===h.toLowerCase().indexOf("https"),f&&(/windows|win32/i.test(f)?e.os="windows":/macintosh/i.test(f)?e.os="macintosh":/rhino/i.test(f)&&(e.os="rhino"),/KHTML/.test(f)&&(e.webkit=1),b=f.match(/AppleWebKit\/([^\s]*)/),b&&b[1]&&(e.webkit=c(b[1]),/ Mobile\//.test(f)?(e.mobile="Apple",b=f.match(/OS ([^\s]*)/),b&&b[1]&&(b=c(b[1].replace("_","."))),e.ios=b,e.ipad=e.ipod=e.iphone=0,b=f.match(/iPad|iPod|iPhone/),b&&b[0]&&(e[b[0].toLowerCase()]=e.ios)):(b=f.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/),b&&(e.mobile=b[0]),/webOS/.test(f)&&(e.mobile="WebOS",b=f.match(/webOS\/([^\s]*);/),b&&b[1]&&(e.webos=c(b[1]))),/ Android/.test(f)&&(e.mobile="Android",b=f.match(/Android ([^\s]*);/),b&&b[1]&&(e.android=c(b[1])))),b=f.match(/Chrome\/([^\s]*)/),b&&b[1]?e.chrome=c(b[1]):(b=f.match(/AdobeAIR\/([^\s]*)/),b&&(e.air=b[0]))),e.webkit||(b=f.match(/Opera[\s\/]([^\s]*)/),b&&b[1]?(e.opera=c(b[1]),b=f.match(/Version\/([^\s]*)/),b&&b[1]&&(e.opera=c(b[1])),b=f.match(/Opera Mini[^;]*/),b&&(e.mobile=b[0])):(b=f.match(/MSIE\s([^;]*)/),b&&b[1]?e.ie=c(b[1]):(b=f.match(/Gecko\/([^\s]*)/),b&&(e.gecko=1,b=f.match(/rv:([^\s\)]*)/),b&&b[1]&&(e.gecko=c(b[1]))))))),e},YAHOO.env.ua=YAHOO.env.parseUA(),function(){if(YAHOO.namespace("util","widget","example"),"undefined"!=typeof YAHOO_config){var a,b=YAHOO_config.listener,c=YAHOO.env.listeners,d=!0;if(b){for(a=0;a<c.length;a++)if(c[a]==b){d=!1;break}d&&c.push(b)}}}(),YAHOO.lang=YAHOO.lang||{},function(){var a=YAHOO.lang,b=Object.prototype,c="[object Array]",d="[object Function]",e="[object Object]",f=[],g={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`"},h=["toString","valueOf"],i={isArray:function(a){return b.toString.apply(a)===c},isBoolean:function(a){return"boolean"==typeof a},isFunction:function(a){return"function"==typeof a||b.toString.apply(a)===d},isNull:function(a){return null===a},isNumber:function(a){return"number"==typeof a&&isFinite(a)},isObject:function(b){return b&&("object"==typeof b||a.isFunction(b))||!1},isString:function(a){return"string"==typeof a},isUndefined:function(a){return"undefined"==typeof a},_IEEnumFix:YAHOO.env.ua.ie?function(c,d){var e,f,g;for(e=0;e<h.length;e+=1)f=h[e],g=d[f],a.isFunction(g)&&g!=b[f]&&(c[f]=g)}:function(){},escapeHTML:function(a){return a.replace(/[&<>"'\/`]/g,function(a){return g[a]})},extend:function(c,d,e){if(!d||!c)throw new Error("extend failed, please check that all dependencies are included.");var f,g=function(){};if(g.prototype=d.prototype,c.prototype=new g,c.prototype.constructor=c,c.superclass=d.prototype,d.prototype.constructor==b.constructor&&(d.prototype.constructor=d),e){for(f in e)a.hasOwnProperty(e,f)&&(c.prototype[f]=e[f]);a._IEEnumFix(c.prototype,e)}},augmentObject:function(b,c){if(!c||!b)throw new Error("Absorb failed, verify dependencies.");var d,e,f=arguments,g=f[2];if(g&&g!==!0)for(d=2;d<f.length;d+=1)b[f[d]]=c[f[d]];else{for(e in c)!g&&e in b||(b[e]=c[e]);a._IEEnumFix(b,c)}return b},augmentProto:function(b,c){if(!c||!b)throw new Error("Augment failed, verify dependencies.");var d,e=[b.prototype,c.prototype];for(d=2;d<arguments.length;d+=1)e.push(arguments[d]);return a.augmentObject.apply(this,e),b},dump:function(b,c){var d,e,f=[],g="{...}",h="f(){...}",i=", ",j=" => ";if(!a.isObject(b))return b+"";if(b instanceof Date||"nodeType"in b&&"tagName"in b)return b;if(a.isFunction(b))return h;if(c=a.isNumber(c)?c:3,a.isArray(b)){for(f.push("["),d=0,e=b.length;d<e;d+=1)a.isObject(b[d])?f.push(c>0?a.dump(b[d],c-1):g):f.push(b[d]),f.push(i);f.length>1&&f.pop(),f.push("]")}else{f.push("{");for(d in b)a.hasOwnProperty(b,d)&&(f.push(d+j),a.isObject(b[d])?f.push(c>0?a.dump(b[d],c-1):g):f.push(b[d]),f.push(i));f.length>1&&f.pop(),f.push("}")}return f.join("")},substitute:function(b,c,d,f){for(var g,h,i,j,k,l,m,n,o,Line truncated
|
||||
========================================================================
|
||||
Snowfall jquery plugin version 1.51 Dec 2nd 2012
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Developed by Jason Brown for any bugs or questions email me at loktar69@hotmail
|
||||
info on the plugin is located on Somethinghitme.com
|
||||
*/
|
||||
Date.now||(Date.now=function(){return(new Date).getTime()}),function(){for(var a=["webkit","moz"],b=0;b<a.length&&!window.requestAnimationFrame;++b){var c=a[b];window.requestAnimationFrame=window[c+"RequestAnimationFrame"],window.cancelAnimationFrame=window[c+"CancelAnimationFrame"]||window[c+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var d=0;window.requestAnimationFrame=function(a){var b=Date.now(),c=Math.max(d+16,b);return setTimeout(function(){a(d=c)},c-b)},window.cancelAnimationFrame=clearTimeout}}(),function(a){a.snowfall=function(b,c){function d(d,e,f,g){this.x=d,this.y=e,this.size=f,this.speed=g,this.step=0,this.stepSize=h(1,10)/100,c.collection&&(this.target=o[h(0,o.length-1)]);var i=null;c.image?(i=document.createElement("img"),i.src=c.image):(i=document.createElement("div"),a(i).css({background:c.flakeColor})),a(i).attr({class:"snowfall-flakes"}).css({width:this.size,height:this.size,position:c.flakePosition,top:this.y,left:this.x,fontSize:0,zIndex:c.flakeIndex}),a(b).get(0).tagName===a(document).get(0).tagName?(a("body").append(a(i)),b=a("body")):a(b).append(a(i)),this.element=i,this.update=function(){if(this.y+=this.speed,this.y>j-(this.size+6)&&this.reset(),this.element.style.top=this.y+"px",this.element.style.left=this.x+"px",this.step+=this.stepSize,v===!1?this.x+=Math.cos(this.step):this.x+=v+Math.cos(this.step),c.collection&&this.x>this.target.x&&this.x<this.target.width+this.target.x&&this.y>this.target.y&&this.y<this.target.height+this.target.y){var a=this.target.element.getContext("2d"),b=this.x-this.target.x,d=this.y-this.target.y,e=this.target.colData;if(void 0!==e[parseInt(b)][parseInt(d+this.speed+this.size)]||d+this.speed+this.size>this.target.height)if(d+this.speed+this.size>this.target.height){for(;d+this.speed+this.size>this.target.height&&this.speed>0;)this.speed*=.5;a.fillStyle="#fff",a.shadowOffsetX=1,a.shadowOffsetY=1,a.shadowColor="#000",a.shadowBlur=1,void 0==e[parseInt(b)][parseInt(d+this.speed+this.size)]?(e[parseInt(b)][parseInt(d+this.speed+this.size)]=1,a.beginPath(),a.arc(b,d+this.speed+this.size,this.size/2,0,2*Math.PI,!0),a.closePath(),a.fill()):(e[parseInt(b)][parseInt(d+this.speed)]=1,a.beginPath(),a.arc(b,d+this.speed+this.size,this.size,0,2*Math.PI,!0),a.closePath(),a.fill()),this.reset()}else this.speed=1,this.stepSize=0,parseInt(b)+1<this.target.width&&void 0==e[parseInt(b)+1][parseInt(d)+1]?this.x++:parseInt(b)-1>0&&void 0==e[parseInt(b)-1][parseInt(d)+1]?this.x--:(a.fillStyle="#fff",a.shadowOffsetX=-4,a.shadowOffsetY=-4,a.shadowColor="#000",a.shadowBlur=4,a.beginPath(),a.arc(b,d+this.speed+this.size,this.size,0,2*Math.PI,!0),a.closePath(),a.fill(),e[parseInt(b)][parseInt(d)]=1,this.reset())}(this.x+this.size>k-l||this.x<l)&&this.reset()},this.reset=function(){this.y=0,this.x=h(l,k-l),this.stepSize=h(1,10)/100,this.size=h(100*c.minSize,100*c.maxSize)/100,this.element.style.width=this.size+"px",this.element.style.height=this.size+"px",this.speed=h(c.minSpeed,c.maxSpeed)}}function e(){for(i=0;i<f.length;i+=1)f[i].update();m=requestAnimationFrame(function(){e()})}var f=[],g={flakeCount:35,flakeColor:"#ffffff",flakePosition:"absolute",flakeIndex:999999,minSize:1,maxSize:2,minSpeed:1,maxSpeed:5,round:!1,shadow:!1,collection:!1,collectionHeight:40,deviceorientation:!1},c=a.extend(g,c),h=function(a,b){return Math.round(a+Math.random()*(b-a))};a(b).data("snowfall",this);var i=0,j=a(b).height(),k=a(b).width(),l=0,m=0;if(c.collection!==!1){var n=document.createElement("canvas");if(n.getContext&&n.getContext("2d"))for(var o=[],p=a(c.collection),q=c.collectionHeight,i=0;i<p.length;i++){var r=p[i].getBoundingClientRect(),s=a("<canvas/>",{class:"snowfall-canvas"}),t=[];if(r.top-q>0){a("body").append(s),s.css({position:c.flakePosition,left:r.left+"px",top:r.top-q+"px"}).prop({width:r.width,height:q});for(var u=0;u<r.width;u++)t[u]=[];o.push({element:s.get(0),x:r.left,y:r.top-q,width:r.width,height:q,colData:t})}}else c.collection=!1}for(a(b).get(0).tagName===a(document).get(0).tagName&&(l=25),a(window).bind("resize",function(){j=a(b)[0].clientHeight,k=a(b)[0].offsetWidth}),i=0;i<c.flakeCount;i+=1)f.push(new d(h(l,k-l),h(0,j),h(100*c.minSize,100*c.maxSize)/100,h(c.minSpeed,c.maxSpeed)));c.round&&a(".snowfall-flakes").css({"-moz-border-radius":c.maxSize,"-webkit-border-radius":c.maxSize,"border-radius":c.maxSize}),c.shadow&&a(".snowfall-flakes").css({"-moz-box-shadow":"1px 1px 1px #555","-webkit-box-shadow":"1px 1px 1px #555","box-shadow":"1px 1px 1px #555"});var v=!1;c.deviceorientation&&a(window).bind("deviceorientation",function(a){v=.1*a.originalEvent.gamma}),e(),this.clear=function(){a(".snowfall-canvas").remove(),a(b).children(".snowfall-flakes").remove(),cancelAnimationFrame(m)}},a.fn.snowfall=function(b){return"object"==typeof b||void 0==b?this.each(function(c){new a.snowfall(this,b)}):"string"==typeof b?this.each(function(b){var c=a(this).data("snowfall");c&&Line truncated
|
||||
========================================================================
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
var CryptoJS=CryptoJS||function(a,b){var c={},d=c.lib={},e=d.Base=function(){function a(){}return{extend:function(b){a.prototype=this;var c=new a;return b&&c.mixIn(b),c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)}),c.init.prototype=c,c.$super=this,c},create:function(){var a=this.extend();return a.init.apply(a,arguments),a},init:function(){},mixIn:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),f=d.WordArray=e.extend({init:function(a,c){a=this.words=a||[],c!=b?this.sigBytes=c:this.sigBytes=4*a.length},toString:function(a){return(a||h).stringify(this)},concat:function(a){var b=this.words,c=a.words,d=this.sigBytes,e=a.sigBytes;if(this.clamp(),d%4)for(var f=0;f<e;f++){var g=c[f>>>2]>>>24-f%4*8&255;b[d+f>>>2]|=g<<24-(d+f)%4*8}else if(c.length>65535)for(var f=0;f<e;f+=4)b[d+f>>>2]=c[f>>>2];else b.push.apply(b,c);return this.sigBytes+=e,this},clamp:function(){var b=this.words,c=this.sigBytes;b[c>>>2]&=4294967295<<32-c%4*8,b.length=a.ceil(c/4)},clone:function(){var a=e.clone.call(this);return a.words=this.words.slice(0),a},random:function(b){for(var c=[],d=0;d<b;d+=4)c.push(4294967296*a.random()|0);return new f.init(c,b)}}),g=c.enc={},h=g.Hex={stringify:function(a){for(var b=a.words,c=a.sigBytes,d=[],e=0;e<c;e++){var f=b[e>>>2]>>>24-e%4*8&255;d.push((f>>>4).toString(16)),d.push((15&f).toString(16))}return d.join("")},parse:function(a){for(var b=a.length,c=[],d=0;d<b;d+=2)c[d>>>3]|=parseInt(a.substr(d,2),16)<<24-d%8*4;return new f.init(c,b/2)}},i=g.Latin1={stringify:function(a){for(var b=a.words,c=a.sigBytes,d=[],e=0;e<c;e++){var f=b[e>>>2]>>>24-e%4*8&255;d.push(String.fromCharCode(f))}return d.join("")},parse:function(a){for(var b=a.length,c=[],d=0;d<b;d++)c[d>>>2]|=(255&a.charCodeAt(d))<<24-d%4*8;return new f.init(c,b)}},j=g.Utf8={stringify:function(a){try{return decodeURIComponent(escape(i.stringify(a)))}catch(a){throw new Error("Malformed UTF-8 data")}},parse:function(a){return i.parse(unescape(encodeURIComponent(a)))}},k=d.BufferedBlockAlgorithm=e.extend({reset:function(){this._data=new f.init,this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=j.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes},_process:function(b){var c=this._data,d=c.words,e=c.sigBytes,g=this.blockSize,h=4*g,i=e/h;i=b?a.ceil(i):a.max((0|i)-this._minBufferSize,0);var j=i*g,k=a.min(4*j,e);if(j){for(var l=0;l<j;l+=g)this._doProcessBlock(d,l);var m=d.splice(0,j);c.sigBytes-=k}return new f.init(m,k)},clone:function(){var a=e.clone.call(this);return a._data=this._data.clone(),a},_minBufferSize:0}),l=(d.Hasher=k.extend({cfg:e.extend(),init:function(a){this.cfg=this.cfg.extend(a),this.reset()},reset:function(){k.reset.call(this),this._doReset()},update:function(a){return this._append(a),this._process(),this},finalize:function(a){a&&this._append(a);var b=this._doFinalize();return b},blockSize:16,_createHelper:function(a){return function(b,c){return new a.init(c).finalize(b)}},_createHmacHelper:function(a){return function(b,c){return new l.HMAC.init(a,c).finalize(b)}}}),c.algo={});return c}(Math);!function(a){var b=CryptoJS,c=b.lib,d=c.Base,e=c.WordArray,f=b.x64={};f.Word=d.extend({init:function(a,b){this.high=a,this.low=b}}),f.WordArray=d.extend({init:function(b,c){b=this.words=b||[],c!=a?this.sigBytes=c:this.sigBytes=8*b.length},toX32:function(){for(var a=this.words,b=a.length,c=[],d=0;d<b;d++){var f=a[d];c.push(f.high),c.push(f.low)}return e.create(c,this.sigBytes)},clone:function(){for(var a=d.clone.call(this),b=a.words=this.words.slice(0),c=b.length,e=0;e<c;e++)b[e]=b[e].clone();return a}})}(),function(){var a=CryptoJS,b=a.lib,c=b.WordArray,d=a.enc;d.Base64={stringify:function(a){var b=a.words,c=a.sigBytes,d=this._map;a.clamp();for(var e=[],f=0;f<c;f+=3)for(var g=b[f>>>2]>>>24-f%4*8&255,h=b[f+1>>>2]>>>24-(f+1)%4*8&255,i=b[f+2>>>2]>>>24-(f+2)%4*8&255,j=g<<16|h<<8|i,k=0;k<4&&f+.75*k<c;k++)e.push(d.charAt(j>>>6*(3-k)&63));var l=d.charAt(64);if(l)for(;e.length%4;)e.push(l);return e.join("")},parse:function(a){var b=a.length,d=this._map,e=d.charAt(64);if(e){var f=a.indexOf(e);f!=-1&&(b=f)}for(var g=[],h=0,i=0;i<b;i++)if(i%4){var j=d.indexOf(a.charAt(i-1))<<i%4*2,k=d.indexOf(a.charAt(i))>>>6-i%4*2;g[h>>>2]|=(j|k)<<24-h%4*8,h++}return c.create(g,h)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(){function a(a){return a<<8&4278255360|a>>>8&16711935}var b=CryptoJS,c=b.lib,d=c.WordArray,e=b.enc;e.Utf16=e.Utf16BE={stringify:function(a){for(var b=a.words,c=a.sigBytes,d=[],e=0;e<c;e+=2){var f=b[e>>>2]>>>16-e%4*8&65535;d.push(String.fromCharCode(f))}return d.join("")},parse:function(a){for(var b=a.length,c=[],e=0;e<b;e++)c[e>>>1]|=a.charCodeAt(e)<<16-e%2*16;return d.create(c,2*b)}};e.Utf16LE={stringify:function(b){for(var c=b.words,d=b.sigBytes,e=[],f=0;f<d;f+=2){var g=a(c[f>>>2]>>>16-f%4*8&65535);e.push(String.fromCharCode(g))}retLine truncated
|
||||
========================================================================
|
||||
CryptoJS.mode.CTRGladman
|
||||
Counter block mode compatible with Dr Brian Gladman fileenc.c
|
||||
derived from CryptoJS.mode.CTR
|
||||
Jan Hruby jhruby.web@gmail.com
|
||||
*/
|
||||
CryptoJS.mode.CTRGladman=function(){function a(a){if(255===(a>>24&255)){var b=a>>16&255,c=a>>8&255,d=255&a;255===b?(b=0,255===c?(c=0,255===d?d=0:++d):++c):++b,a=0,a+=b<<16,a+=c<<8,a+=d}else a+=1<<24;return a}function b(b){return 0===(b[0]=a(b[0]))&&(b[1]=a(b[1])),b}var c=CryptoJS.lib.BlockCipherMode.extend(),d=c.Encryptor=c.extend({processBlock:function(a,c){var d=this._cipher,e=d.blockSize,f=this._iv,g=this._counter;f&&(g=this._counter=f.slice(0),this._iv=void 0),b(g);var h=g.slice(0);d.encryptBlock(h,0);for(var i=0;i<e;i++)a[c+i]^=h[i]}});return c.Decryptor=d,c}(),CryptoJS.mode.CTR=function(){var a=CryptoJS.lib.BlockCipherMode.extend(),b=a.Encryptor=a.extend({processBlock:function(a,b){var c=this._cipher,d=c.blockSize,e=this._iv,f=this._counter;e&&(f=this._counter=e.slice(0),this._iv=void 0);var g=f.slice(0);c.encryptBlock(g,0),f[d-1]=f[d-1]+1|0;for(var h=0;h<d;h++)a[b+h]^=g[h]}});return a.Decryptor=b,a}(),CryptoJS.mode.ECB=function(){var a=CryptoJS.lib.BlockCipherMode.extend();return a.Encryptor=a.extend({processBlock:function(a,b){this._cipher.encryptBlock(a,b)}}),a.Decryptor=a.extend({processBlock:function(a,b){this._cipher.decryptBlock(a,b)}}),a}(),CryptoJS.mode.OFB=function(){var a=CryptoJS.lib.BlockCipherMode.extend(),b=a.Encryptor=a.extend({processBlock:function(a,b){var c=this._cipher,d=c.blockSize,e=this._iv,f=this._keystream;e&&(f=this._keystream=e.slice(0),this._iv=void 0),c.encryptBlock(f,0);for(var g=0;g<d;g++)a[b+g]^=f[g]}});return a.Decryptor=b,a}(),function(a){var b=CryptoJS,c=b.lib,d=c.CipherParams,e=b.enc,f=e.Hex,g=b.format;g.Hex={stringify:function(a){return a.ciphertext.toString(f)},parse:function(a){var b=f.parse(a);return d.create({ciphertext:b})}}}(),function(){if("function"==typeof ArrayBuffer){var a=CryptoJS,b=a.lib,c=b.WordArray,d=c.init,e=c.init=function(a){if(a instanceof ArrayBuffer&&(a=new Uint8Array(a)),(a instanceof Int8Array||a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array)&&(a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)),a instanceof Uint8Array){for(var b=a.byteLength,c=[],e=0;e<b;e++)c[e>>>2]|=a[e]<<24-e%4*8;d.call(this,c,b)}else d.apply(this,arguments)};e.prototype=c}}(),CryptoJS.pad.AnsiX923={pad:function(a,b){var c=a.sigBytes,d=4*b,e=d-c%d,f=c+e-1;a.clamp(),a.words[f>>>2]|=e<<24-f%4*8,a.sigBytes+=e},unpad:function(a){var b=255&a.words[a.sigBytes-1>>>2];a.sigBytes-=b}},CryptoJS.pad.Iso10126={pad:function(a,b){var c=4*b,d=c-a.sigBytes%c;a.concat(CryptoJS.lib.WordArray.random(d-1)).concat(CryptoJS.lib.WordArray.create([d<<24],1))},unpad:function(a){var b=255&a.words[a.sigBytes-1>>>2];a.sigBytes-=b}},CryptoJS.pad.Iso97971={pad:function(a,b){a.concat(CryptoJS.lib.WordArray.create([2147483648],1)),CryptoJS.pad.ZeroPadding.pad(a,b)},unpad:function(a){CryptoJS.pad.ZeroPadding.unpad(a),a.sigBytes--}},CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}},CryptoJS.pad.ZeroPadding={pad:function(a,b){var c=4*b;a.clamp(),a.sigBytes+=c-(a.sigBytes%c||c)},unpad:function(a){for(var b=a.words,c=a.sigBytes-1;!(b[c>>>2]>>>24-c%4*8&255);)c--;a.sigBytes=c+1}},function(){var a=CryptoJS,b=a.lib,c=b.BlockCipher,d=a.algo,e=[],f=[],g=[],h=[],i=[],j=[],k=[],l=[],m=[],n=[];!function(){for(var a=[],b=0;b<256;b++)b<128?a[b]=b<<1:a[b]=b<<1^283;for(var c=0,d=0,b=0;b<256;b++){var o=d^d<<1^d<<2^d<<3^d<<4;o=o>>>8^255&o^99,e[c]=o,f[o]=c;var p=a[c],q=a[p],r=a[q],s=257*a[o]^16843008*o;g[c]=s<<24|s>>>8,h[c]=s<<16|s>>>16,i[c]=s<<8|s>>>24,j[c]=s;var s=16843009*r^65537*q^257*p^16843008*c;k[o]=s<<24|s>>>8,l[o]=s<<16|s>>>16,m[o]=s<<8|s>>>24,n[o]=s,c?(c=p^a[a[a[r^p]]],d^=a[a[d]]):c=d=1}}();var o=[0,1,2,4,8,16,32,64,128,27,54],p=d.AES=c.extend({_doReset:function(){for(var a=this._key,b=a.words,c=a.sigBytes/4,d=this._nRounds=c+6,f=4*(d+1),g=this._keySchedule=[],h=0;h<f;h++)if(h<c)g[h]=b[h];else{var i=g[h-1];h%c?c>6&&h%c==4&&(i=e[i>>>24]<<24|e[i>>>16&255]<<16|e[i>>>8&255]<<8|e[255&i]):(i=i<<8|i>>>24,i=e[i>>>24]<<24|e[i>>>16&255]<<16|e[i>>>8&255]<<8|e[255&i],i^=o[h/c|0]<<24),g[h]=g[h-c]^i}for(var j=this._invKeySchedule=[],p=0;p<f;p++){var h=f-p;if(p%4)var i=g[h];else var i=g[h-4];p<4||h<=4?j[p]=i:j[p]=k[e[i>>>24]]^l[e[i>>>16&255]]^m[e[i>>>8&255]]^n[e[255&i]]}},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,g,h,i,j,e)},decryptBlock:function(a,b){var c=a[b+1];a[b+1]=a[b+3],a[b+3]=c,this._doCryptBlock(a,b,this._invKeySchedule,k,l,m,n,f);var c=a[b+1];a[b+1]=a[b+3],a[b+3]=c},_doCryptBlock:function(a,b,c,d,e,f,g,h){for(var i=this._nRounds,j=a[b]^c[0],k=a[b+1]^c[1],l=a[b+2]^c[2],m=a[b+3]^c[3],n=4,o=1;o<i;o++){var p=d[j>>>24]^e[k>>>16&255]^f[l>>>8&255]^g[255&m]^c[n++],q=d[k>>>24]^e[l>>>16&255]^f[m>>>8&255]^g[255&j]^c[n++],r=d[l>>>24]^e[m>>>16&255]^f[j>>>8&255]^g[255&k]^c[n++],s=d[m>>>24]^e[j>>>16&255]^f[k>>>8&255]^g[255&l]^c[n++];j=p,k=q,l=r,m=s}var p=(h[j>>>24]<<24|h[k>>>16&255]<<16|h[l>>>8&255]<<8|h[255&m])^c[n++],q=(h[k>>>24]<<24|h[l>>>16&255]<<16|h[Line truncated
|
||||
========================================================================
|
||||
RIPEMD160
|
||||
(c) 2012 by Cédric Mesnil. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
function(a){function b(a,b,c){return a^b^c}function c(a,b,c){return a&b|~a&c}function d(a,b,c){return(a|~b)^c}function e(a,b,c){return a&c|b&~c}function f(a,b,c){return a^(b|~c)}function g(a,b){return a<<b|a>>>32-b}var h=CryptoJS,i=h.lib,j=i.WordArray,k=i.Hasher,l=h.algo,m=j.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),n=j.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),o=j.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),p=j.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),q=j.create([0,1518500249,1859775393,2400959708,2840853838]),r=j.create([1352829926,1548603684,1836072691,2053994217,0]),s=l.RIPEMD160=k.extend({_doReset:function(){this._hash=j.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,h){for(var i=0;i<16;i++){var j=h+i,k=a[j];a[j]=16711935&(k<<8|k>>>24)|4278255360&(k<<24|k>>>8)}var l,s,t,u,v,w,x,y,z,A,B=this._hash.words,C=q.words,D=r.words,E=m.words,F=n.words,G=o.words,H=p.words;w=l=B[0],x=s=B[1],y=t=B[2],z=u=B[3],A=v=B[4];for(var I,i=0;i<80;i+=1)I=l+a[h+E[i]]|0,I+=i<16?b(s,t,u)+C[0]:i<32?c(s,t,u)+C[1]:i<48?d(s,t,u)+C[2]:i<64?e(s,t,u)+C[3]:f(s,t,u)+C[4],I|=0,I=g(I,G[i]),I=I+v|0,l=v,v=u,u=g(t,10),t=s,s=I,I=w+a[h+F[i]]|0,I+=i<16?f(x,y,z)+D[0]:i<32?e(x,y,z)+D[1]:i<48?d(x,y,z)+D[2]:i<64?c(x,y,z)+D[3]:b(x,y,z)+D[4],I|=0,I=g(I,H[i]),I=I+A|0,w=A,A=z,z=g(y,10),y=x,x=I;I=B[1]+t+z|0,B[1]=B[2]+u+A|0,B[2]=B[3]+v+w|0,B[3]=B[4]+l+x|0,B[4]=B[0]+s+y|0,B[0]=I},_doFinalize:function(){var a=this._data,b=a.words,c=8*this._nDataBytes,d=8*a.sigBytes;b[d>>>5]|=128<<24-d%32,b[(d+64>>>9<<4)+14]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),a.sigBytes=4*(b.length+1),this._process();for(var e=this._hash,f=e.words,g=0;g<5;g++){var h=f[g];f[g]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return e},clone:function(){var a=k.clone.call(this);return a._hash=this._hash.clone(),a}});h.RIPEMD160=k._createHelper(s),h.HmacRIPEMD160=k._createHmacHelper(s)}(Math),function(){var a=CryptoJS,b=a.lib,c=b.WordArray,d=b.Hasher,e=a.algo,f=[],g=e.SHA1=d.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,b){for(var c=this._hash.words,d=c[0],e=c[1],g=c[2],h=c[3],i=c[4],j=0;j<80;j++){if(j<16)f[j]=0|a[b+j];else{var k=f[j-3]^f[j-8]^f[j-14]^f[j-16];f[j]=k<<1|k>>>31}var l=(d<<5|d>>>27)+i+f[j];l+=j<20?(e&g|~e&h)+1518500249:j<40?(e^g^h)+1859775393:j<60?(e&g|e&h|g&h)-1894007588:(e^g^h)-899497514,i=h,h=g,g=e<<30|e>>>2,e=d,d=l}c[0]=c[0]+d|0,c[1]=c[1]+e|0,c[2]=c[2]+g|0,c[3]=c[3]+h|0,c[4]=c[4]+i|0},_doFinalize:function(){var a=this._data,b=a.words,c=8*this._nDataBytes,d=8*a.sigBytes;return b[d>>>5]|=128<<24-d%32,b[(d+64>>>9<<4)+14]=Math.floor(c/4294967296),b[(d+64>>>9<<4)+15]=c,a.sigBytes=4*b.length,this._process(),this._hash},clone:function(){var a=d.clone.call(this);return a._hash=this._hash.clone(),a}});a.SHA1=d._createHelper(g),a.HmacSHA1=d._createHmacHelper(g)}(),function(a){var b=CryptoJS,c=b.lib,d=c.WordArray,e=c.Hasher,f=b.algo,g=[],h=[];!function(){function b(b){for(var c=a.sqrt(b),d=2;d<=c;d++)if(!(b%d))return!1;return!0}function c(a){return 4294967296*(a-(0|a))|0}for(var d=2,e=0;e<64;)b(d)&&(e<8&&(g[e]=c(a.pow(d,.5))),h[e]=c(a.pow(d,1/3)),e++),d++}();var i=[],j=f.SHA256=e.extend({_doReset:function(){this._hash=new d.init(g.slice(0))},_doProcessBlock:function(a,b){for(var c=this._hash.words,d=c[0],e=c[1],f=c[2],g=c[3],j=c[4],k=c[5],l=c[6],m=c[7],n=0;n<64;n++){if(n<16)i[n]=0|a[b+n];else{var o=i[n-15],p=(o<<25|o>>>7)^(o<<14|o>>>18)^o>>>3,q=i[n-2],r=(q<<15|q>>>17)^(q<<13|q>>>19)^q>>>10;i[n]=p+i[n-7]+r+i[n-16]}var s=j&k^~j&l,t=d&e^d&f^e&f,u=(d<<30|d>>>2)^(d<<19|d>>>13)^(d<<10|d>>>22),v=(j<<26|j>>>6)^(j<<21|j>>>11)^(j<<7|j>>>25),w=m+v+s+h[n]+i[n],x=u+t;m=l,l=k,k=j,j=g+w|0,g=f,f=e,e=d,d=w+x|0}c[0]=c[0]+d|0,c[1]=c[1]+e|0,c[2]=c[2]+f|0,c[3]=c[3]+g|0,c[4]=c[4]+j|0,c[5]=c[5]+k|0,c[6]=c[6]+l|0,c[7]=c[7]+m|0},_doFinalize:function(){var b=this._data,c=b.words,d=8*this._nDataBytes,e=8*b.sigBytes;return c[e>>>5]|=128<<24-e%32,c[(e+64>>>9<<4)+14]=a.floor(d/4294967296),c[(e+64>>>9<<4)+15]=d,b.sigBytes=4*c.length,this._process(),this._hash},clone:function(){var a=e.clone.call(this);return a._hash=this._hash.clone(),a}});b.SHA256=e._createHelper(j),b.HmacSHA256=e._createHmacHelper(j)}(Math),function(){var a=CryptoJS,b=a.lib,c=b.WordArray,d=a.algo,e=d.SHA256,f=d.SHA224=e.extend({_doReset:function(){this._hash=new c.initLine truncated
|
||||
========================================================================
|
||||
Crypto API for JavaScript - https://github.com/nf404/crypto-api
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 nf404
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
function(a){var b=function(){this.Hashers=new l,this.Encodes=new m,this.Macs=new n,this.Tools=new o},c=function(){};c.prototype.constructor=function(){},c.prototype.processBlock=function(a){},c.prototype.update=function(a){},c.prototype.finalize=function(){};var d=function(a,b){};d.prototype.constructor=function(a,b){this.name=a,this.state={},this.state.message=[],this.state.length=0,this.state.options=b,this.blockUnits=[]},d.prototype.unitSize=4,d.prototype.unitOrder=0,d.prototype.blockSize=16,d.prototype.getState=function(){return JSON.parse(JSON.stringify(this.state))},d.prototype.setState=function(a){return this.state=a,this},d.prototype.update=function(a){for(var b=0,c=0,d=a.length;c<d;c++){var e=a.charCodeAt(c);e<128?(this.state.message.push(e),b+=1):e<2048?(this.state.message.push(192|e>>6,128|63&e),b+=2):e<55296||e>=57344?(this.state.message.push(224|e>>12,128|e>>6&63,128|63&e),b+=3):(c++,e=65536+((1023&e)<<10|1023&a.charCodeAt(c)),this.state.message.push(240|e>>18,128|e>>12&63,128|e>>6&63,128|63&e),b+=4)}this.state.length+=b,this.process()},d.prototype.updateFromArray=function(a){return this.state.length+=a.length,this.state.message=this.state.message.concat(a),this.process(),this},d.prototype.process=function(){for(;this.state.message.length>=this.blockSize*this.unitSize;){var a=0,b=0,c=this.state.message.splice(0,this.blockSize*this.unitSize);if(this.unitSize>1){this.blockUnits=[];for(var d=0,e=0;d<c.length;d+=this.unitSize,e++)if(1===this.unitOrder)for(a=this.unitSize-1,b=0;a>=0;a--,b+=8)this.blockUnits[e]|=c[d+a]<<b;else for(a=0,b=0;a<this.unitSize;a++,b+=8)this.blockUnits[e]|=c[d+a]<<b;this.processBlock(this.blockUnits)}else this.processBlock(c)}},b.prototype.BaseHasher=d;var e=function(a,b){this.constructor(a,b)};e.prototype=Object.create(d.prototype),e.prototype.unitOrder=0,e.prototype.unitSize=1,e.prototype.constructor=function(a,b){d.prototype.constructor.call(this,a,b)},e.prototype.process=function(){for(;this.state.message.length>=this.blockSize*this.unitSize;){var a=this.state.message.splice(0,this.blockSize*this.unitSize);this.blockUnits=[];for(var b=0;b<this.blockSize;b++)this.blockUnits[b]=a[b];this.processBlock(this.blockUnits)}},b.prototype.Hasher8=e;var f=function(a,b){this.constructor(a,b)};f.prototype=Object.create(d.prototype),f.prototype.unitOrder=0,f.prototype.constructor=function(a,b){d.prototype.constructor.call(this,a,b)},f.prototype.process=function(){for(;this.state.message.length>=this.blockSize*this.unitSize;){var a=this.state.message.splice(0,this.blockSize*this.unitSize);this.blockUnits=[];for(var b=0,c=0;b<this.blockSize;b++,c+=4)this.blockUnits[b]=a[c],this.blockUnits[b]|=a[c+1]<<8,this.blockUnits[b]|=a[c+2]<<16,this.blockUnits[b]|=a[c+3]<<24;this.processBlock(this.blockUnits)}},b.prototype.Hasher32le=f;var g=function(a,b){this.constructor(a,b)};g.prototype=Object.create(d.prototype),g.prototype.unitOrder=1,g.prototype.constructor=function(a,b){d.prototype.constructor.call(this,a,b)},g.prototype.process=function(){for(;this.state.message.length>=this.blockSize*this.unitSize;){var a=this.state.message.splice(0,this.blockSize*this.unitSize);this.blockUnits=[];for(var b=0,c=0;b<this.blockSize;b++,c+=4)this.blockUnits[b]=a[c]<<24,this.blockUnits[b]|=a[c+1]<<16,this.blockUnits[b]|=a[c+2]<<8,this.blockUnits[b]|=a[c+3];this.processBlock(this.blockUnits)}},b.prototype.Hasher32be=g;var h=function(){};h.prototype.constructor=function(a,b,c){},h.prototype.processBlock=function(a){},h.prototype.update=function(a){},h.prototype.finalize=function(){};var i=function(a,b,c){};i.prototype=Object.create(d.prototype),i.prototype.constructor=function(a,b,c){d.prototype.constructor.call(this,b,c)},b.prototype.BaseMac=i;var j=function(){};j.prototype.constructor=function(a){},j.prototype.stringify=function(){};var k=function(a){};k.prototype.constructor=function(a){this.hash=a},b.prototype.BaseEncode=k;var l=function(){this.hashers={}};l.prototype.add=function(a,b){if(void 0===b)throw Error("Error adding hasher: "+a);this.hashers[a]=b},l.prototype.get=function(a,b){var c=this.hashers[a];if(void 0===c&&"undefined"!=typeof require){var d=a;"sha224"===d&&(d="sha256"),require("./hasher."+d),c=this.hashers[a]}if(void 0===c)throw Error("No hash algorithm: "+a);return new c(a,b)};var m=function(){this.encodes={}};m.prototype.add=function(a,b){if(void 0===b)throw Error("Error adding encode: "+a);this.encodes[a]=b},m.prototype.get=function(a,b){var c=this.encodes[a];if(void 0===c&&"undefined"!=typeof require&&(require("./enc."+a),c=this.encodes[a]),void 0===c)throw Error("No encode type: "+a);return new c(b)};var n=function(){this.macs={}};n.prototype.add=function(a,b){if(void 0===b)throw Error("Error adding mac: "+a);this.macs[a]=b},n.prototype.get=function(a,b,c,d){var e=this.macs[a];if(void 0===e&&"undefined"!=typeof require&&(require("./mac."+a),e=this.macs[a]),void 0===e)throw Error("No mac type: "+a);return new e(b,c,d)};var o=function(){};o.prototype.rotateLeft=function(a,b){return a<<b|Line truncated
|
||||
========================================================================
|
||||
Copyright (c) 2005 Tom Wu
|
||||
All Rights Reserved.
|
||||
Basic JavaScript BN library - subset useful for RSA encryption.
|
||||
|
||||
This software is covered under the following copyright:
|
||||
|
||||
Copyright (c) 2003-2005 Tom Wu
|
||||
All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
||||
INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
|
||||
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
|
||||
THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
|
||||
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
In addition, the following condition applies:
|
||||
|
||||
All redistributions must retain an intact copy of this copyright notice
|
||||
and disclaimer.
|
||||
|
||||
Address all questions regarding this license to:
|
||||
Tom Wu
|
||||
tjw@cs.Stanford.EDU
|
||||
*/
|
||||
var dbits,canary=0xdeadbeefcafe,j_lm=15715070==(16777215&canary);j_lm&&"Microsoft Internet Explorer"==navigator.appName?(BigInteger.prototype.am=am2,dbits=30):j_lm&&"Netscape"!=navigator.appName?(BigInteger.prototype.am=am1,dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<<dbits)-1,BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP),BigInteger.prototype.F1=BI_FP-dbits,BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz",BI_RC=new Array,rr,vv;for(rr="0".charCodeAt(0),vv=0;vv<=9;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo,Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo,BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=nMulTo,NullExp.prototype.sqrTo=nSqrTo,Barrett.prototype.convert=barrettConvert,Barrett.prototype.revert=barrettRevert,Barrett.prototype.reduce=barrettReduce,Barrett.prototype.mulTo=barrettMulTo,Barrett.prototype.sqrTo=barrettSqrTo;var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],lplim=(1<<26)/lowprimes[lowprimes.length-1];BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.fromRadix=bnpFromRadix,BigInteger.prototype.fromNumber=bnpFromNumber,BigInteger.prototype.bitwiseTo=bnpBitwiseTo,BigInteger.prototype.changeBit=bnpChangeBit,BigInteger.prototype.addTo=bnpAddTo,BigInteger.prototype.dMultiply=bnpDMultiply,BigInteger.prototype.dAddOffset=bnpDAddOffset,BigInteger.prototype.multiplyLowerTo=bnpMultiplyLowerTo,BigInteger.prototype.multiplyUpperTo=bnpMultiplyUpperTo,BigInteger.prototype.modInt=bnpModInt,BigInteger.prototype.millerRabin=bnpMillerRabin,BigInteger.prototype.clone=bnClone,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.byteValue=bnByteValue,BigInteger.prototype.shortValue=bnShortValue,BigInteger.prototype.signum=bnSigNum,BigInteger.prototype.toByteArray=bnToByteArray,BigInteger.prototype.equals=bnEquals,BigInteger.prototype.min=bnMin,BigInteger.prototype.max=bnMax,BigInteger.prototype.and=bnAnd,BigInteger.prototype.or=bnOr,BigInteger.prototype.xor=bnXor,BigInteger.prototype.andNot=bnAndNot,BigInteger.prototype.not=bnNot,BigInteger.prototype.shiftLeft=bnShiftLeft,BigInteger.prototype.shiftRight=bnShiftRight,BigInteger.prototype.getLowestSetBit=bnGetLowestSetBit,BigInteger.prototype.bitCount=bnBitCount,BigInteger.prototype.testBit=bnTestBit,BigInteger.prototype.setBit=bnSetBit,BigInteger.prototype.clearBit=bnClearBit,BigInteger.prototype.flipBit=bnFlipBit,BigInteger.prototype.add=bnAdd,BigInteger.prototype.subtract=bnSubtract,BigInteger.prototype.multiply=bnMultiply,BigInteger.prototype.divide=bnDivide,BigInteger.prototype.remainder=bnRemainder,BigInteger.prototype.divideAndRemainder=bnDivideAndRemainder,BigInteger.prototype.modPow=bnModPow,BigInteger.prototype.modInverse=bnModInverse,BigInteger.prototype.pow=bnPow,BigInteger.prototype.gcd=bnGCD,BigInteger.prototype.isProbablePrime=bnIsProbablePrime,BigInteger.prototype.square=bnSquare;var b64map="ABCDEFGHIJKLMNOPQRSTUVWLine truncated
|
||||
});return this.hTLV=d.getEncodedHex(),this.isModified=!1,this.hTLV},this._initialize()},YAHOO.lang.extend(KJUR.asn1.x509.TBSCertificate,KJUR.asn1.ASN1Object),KJUR.asn1.x509.Extension=function(a){KJUR.asn1.x509.Extension.superclass.constructor.call(this);this.getEncodedHex=function(){var a=new KJUR.asn1.DERObjectIdentifier({oid:this.oid}),b=new KJUR.asn1.DEROctetString({hex:this.getExtnValueHex()}),c=new Array;c.push(a),this.critical&&c.push(new KJUR.asn1.DERBoolean),c.push(b);var d=new KJUR.asn1.DERSequence({array:c});return d.getEncodedHex()},this.critical=!1,"undefined"!=typeof a&&"undefined"!=typeof a.critical&&(this.critical=a.critical)},YAHOO.lang.extend(KJUR.asn1.x509.Extension,KJUR.asn1.ASN1Object),KJUR.asn1.x509.KeyUsage=function(a){KJUR.asn1.x509.KeyUsage.superclass.constructor.call(this,a),this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.15","undefined"!=typeof a&&"undefined"!=typeof a.bin&&(this.asn1ExtnValue=new KJUR.asn1.DERBitString(a))},YAHOO.lang.extend(KJUR.asn1.x509.KeyUsage,KJUR.asn1.x509.Extension),KJUR.asn1.x509.BasicConstraints=function(a){KJUR.asn1.x509.BasicConstraints.superclass.constructor.call(this,a);this.getExtnValueHex=function(){var a=new Array;this.cA&&a.push(new KJUR.asn1.DERBoolean),this.pathLen>-1&&a.push(new KJUR.asn1.DERInteger({int:this.pathLen}));var b=new KJUR.asn1.DERSequence({array:a});return this.asn1ExtnValue=b,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,"undefined"!=typeof a&&("undefined"!=typeof a.cA&&(this.cA=a.cA),"undefined"!=typeof a.pathLen&&(this.pathLen=a.pathLen))},YAHOO.lang.extend(KJUR.asn1.x509.BasicConstraints,KJUR.asn1.x509.Extension),KJUR.asn1.x509.CRLDistributionPoints=function(a){KJUR.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,a),this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.setByDPArray=function(a){this.asn1ExtnValue=new KJUR.asn1.DERSequence({array:a})},this.setByOneURI=function(a){var b=new KJUR.asn1.x509.GeneralNames([{uri:a}]),c=new KJUR.asn1.x509.DistributionPointName(b),d=new KJUR.asn1.x509.DistributionPoint({dpobj:c});this.setByDPArray([d])},this.oid="2.5.29.31","undefined"!=typeof a&&("undefined"!=typeof a.array?this.setByDPArray(a.array):"undefined"!=typeof a.uri&&this.setByOneURI(a.uri))},YAHOO.lang.extend(KJUR.asn1.x509.CRLDistributionPoints,KJUR.asn1.x509.Extension),KJUR.asn1.x509.ExtKeyUsage=function(a){KJUR.asn1.x509.ExtKeyUsage.superclass.constructor.call(this,a),this.setPurposeArray=function(a){this.asn1ExtnValue=new KJUR.asn1.DERSequence;for(var b=0;b<a.length;b++){var c=new KJUR.asn1.DERObjectIdentifier(a[b]);this.asn1ExtnValue.appendASN1Object(c)}},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.37","undefined"!=typeof a&&"undefined"!=typeof a.array&&this.setPurposeArray(a.array)},YAHOO.lang.extend(KJUR.asn1.x509.ExtKeyUsage,KJUR.asn1.x509.Extension),KJUR.asn1.x509.AuthorityKeyIdentifier=function(a){KJUR.asn1.x509.AuthorityKeyIdentifier.superclass.constructor.call(this,a),this.asn1KID=null,this.asn1CertIssuer=null,this.asn1CertSN=null,this.getExtnValueHex=function(){var a=new Array;this.asn1KID&&a.push(new KJUR.asn1.DERTaggedObject({explicit:!1,tag:"80",obj:this.asn1KID})),this.asn1CertIssuer&&a.push(new KJUR.asn1.DERTaggedObject({explicit:!1,tag:"a1",obj:this.asn1CertIssuer})),this.asn1CertSN&&a.push(new KJUR.asn1.DERTaggedObject({explicit:!1,tag:"82",obj:this.asn1CertSN}));var b=new KJUR.asn1.DERSequence({array:a});return this.asn1ExtnValue=b,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(a){this.asn1KID=new KJUR.asn1.DEROctetString(a)},this.setCertIssuerByParam=function(a){this.asn1CertIssuer=new KJUR.asn1.x509.X500Name(a)},this.setCertSNByParam=function(a){this.asn1CertSN=new KJUR.asn1.DERInteger(a)},this.oid="2.5.29.35","undefined"!=typeof a&&("undefined"!=typeof a.kid&&this.setKIDByParam(a.kid),"undefined"!=typeof a.issuer&&this.setCertIssuerByParam(a.issuer),"undefined"!=typeof a.sn&&this.setCertSNByParam(a.sn))},YAHOO.lang.extend(KJUR.asn1.x509.AuthorityKeyIdentifier,KJUR.asn1.x509.Extension),KJUR.asn1.x509.CRL=function(a){KJUR.asn1.x509.CRL.superclass.constructor.call(this);this.setRsaPrvKeyByPEMandPass=function(a,b){var c=PKCS5PKEY.getDecryptedKeyHex(a,b),d=new RSAKey;d.readPrivateKeyFromASN1HexString(c),this.rsaPrvKey=d},this.sign=function(){this.asn1SignatureAlg=this.asn1TBSCertList.asn1SignatureAlg,sig=new KJUR.crypto.Signature({alg:"SHA1withRSA",prov:"cryptojs/jsrsa"}),sig.initSign(this.rsaPrvKey),sig.updateHex(this.asn1TBSCertList.getEncodedHex()),this.hexSig=sig.sign(),this.asn1Sig=new KJUR.asn1.DERBitString({hex:"00"+this.hexSig});var a=new KJUR.asn1.DERSequence({array:[this.asn1TBSCertList,this.asn1SignatureAlg,this.asn1Sig]});this.hTLV=a.getEncodedHex(),this.isModified=!1},this.getEncodedHex=function(){if(0==this.isModified&&null!=this.hTLV)return this.hTLV;throw"not signed yet"},this.getPEMString=function(){vaLine truncated
|
||||
this.sign()},this.verify=function(a){if(this.sHashHex=this.md.digest(),"undefined"!=typeof this.ecpubhex&&"undefined"!=typeof this.eccurvename){var b=new KJUR.crypto.ECDSA({curve:this.eccurvename});return b.verifyHex(this.sHashHex,a,this.ecpubhex)}if(this.pubKey instanceof RSAKey&&"rsaandmgf1"==this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,a,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof RSAKey&&"rsa"==this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,a);if(this.pubKey instanceof KJUR.crypto.ECDSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,a);if(this.pubKey instanceof KJUR.crypto.DSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,a);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(a,b){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.initVerifyByPublicKey=function(a){throw"initVerifyByPublicKey(rsaPubKeyy) not supported for this alg:prov="+this.algProvName},this.initVerifyByCertificatePEM=function(a){throw"initVerifyByCertificatePEM(certPEM) not supported for this alg:prov="+this.algProvName},this.initSign=function(a){throw"initSign(prvKey) not supported for this alg:prov="+this.algProvName},this.updateString=function(a){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(a){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(a){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(a){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(a){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=a,void 0!==a&&(void 0!==a.alg&&(this.algName=a.alg,void 0===a.prov?this.provName=KJUR.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=a.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==a.psssaltlen&&(this.pssSaltLen=a.psssaltlen),void 0!==a.prvkeypem)){if(void 0!==a.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{var b=new RSAKey;b.readPrivateKeyFromPEMString(a.prvkeypem),this.initSign(b)}catch(a){throw"fatal error to load pem private key: "+a}}},KJUR.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}},"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.crypto&&KJUR.crypto||(KJUR.crypto={}),KJUR.crypto.DSA=function(){function a(a,b,c,e,f,g){var h=KJUR.crypto.Util.hashString(b,a.toLowerCase()),h=h.substr(0,f.bitLength()/4),i=new BigInteger(h,16),j=d(BigInteger.ONE.add(BigInteger.ONE),f.subtract(BigInteger.ONE)),k=c.modPow(j,e).mod(f),l=j.modInverse(f).multiply(i.add(g.multiply(k))).mod(f),m=new Array;return m[0]=k,m[1]=l,m}function b(a){var b=openpgp.config.config.prefer_hash_algorithm;switch(Math.round(a.bitLength()/8)){case 20:return 2!=b&&b>11&&10!=b&&b<8?2:b;case 28:return b>11&&b<8?11:b;case 32:return b>10&&b<8?8:b;default:return util.print_debug("DSA select hash algorithm: returning null for an unknown length of q"),null}}function c(a,b,c,d,e,f,g,h){var i=KJUR.crypto.Util.hashString(d,a.toLowerCase()),i=i.substr(0,f.bitLength()/4),j=new BigInteger(i,16);if(BigInteger.ZERO.compareTo(b)>0||b.compareTo(f)>0||BigInteger.ZERO.compareTo(c)>0||c.compareTo(f)>0)return util.print_error("invalid DSA Signature"),null;var k=c.modInverse(f),l=j.multiply(k).mod(f),m=b.multiply(k).mod(f),n=g.modPow(l,e).multiply(h.modPow(m,e)).mod(e).mod(f);return 0==n.compareTo(b)}function d(a,b){if(!(b.compareTo(a)<=0)){for(var c=b.subtract(a),d=e(c.bitLength());d>c;)d=e(c.bitLength());return a.add(d)}}function e(a){if(a<0)return null;var b=Math.floor((a+7)/8),c=f(b);return a%8>0&&(c=String.fromCharCode(Math.pow(2,a%8)-1&c.charCodeAt(0))+c.substring(1)),new BigInteger(h(c),16)}function f(a){for(var b="",c=0;c<a;c++)b+=String.fromCharCode(g());return b}function g(){var a=new Uint32Array(1);return window.crypto.getRandomValues(a),255&a[0]}function h(a){if(null==a)return"";for(var b,c=[],d=a.length,e=0;e<d;){for(b=a[e++].charCodeAt().toString(16);b.length<2;)b="0"+b;c.push(""+b)}return c.join("")}this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.setPrivate=function(a,b,c,d,e){this.isPrivate=!0,this.p=a,this.q=b,this.g=c,this.y=d,this.x=e},this.setPublic=function(a,b,c,d){this.isPublic=!0,this.p=a,this.q=b,this.g=c,this.y=d,this.x=null},this.signWithMessageHash=function(a){var b=this.p,c=this.q,e=Line truncated
|
||||
var k=KEYUTIL.getHexFromPEM(a,"RSA PRIVATE KEY");return KEYUTIL.getKey(k,null,"pkcs5prv")}if(a.indexOf("-END DSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")==-1){var l=this.getHexFromPEM(a,"DSA PRIVATE KEY"),m=ASN1HEX.getVbyList(l,0,[1],"02"),n=ASN1HEX.getVbyList(l,0,[2],"02"),o=ASN1HEX.getVbyList(l,0,[3],"02"),p=ASN1HEX.getVbyList(l,0,[4],"02"),q=ASN1HEX.getVbyList(l,0,[5],"02"),d=new KJUR.crypto.DSA;return d.setPrivate(new BigInteger(m,16),new BigInteger(n,16),new BigInteger(o,16),new BigInteger(p,16),new BigInteger(q,16)),d}if(a.indexOf("-END PRIVATE KEY-")!=-1)return KEYUTIL.getKeyFromPlainPrivatePKCS8PEM(a);if(a.indexOf("-END RSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")!=-1)return KEYUTIL.getRSAKeyFromEncryptedPKCS5PEM(a,b);if(a.indexOf("-END EC PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")!=-1){var l=KEYUTIL.getDecryptedKeyHex(a,b),d=ASN1HEX.getVbyList(l,0,[1],"04"),r=ASN1HEX.getVbyList(l,0,[2,0],"06"),s=ASN1HEX.getVbyList(l,0,[3,0],"03").substr(2),t="";if(void 0===KJUR.crypto.OID.oidhex2name[r])throw"undefined OID(hex) in KJUR.crypto.OID: "+r;t=KJUR.crypto.OID.oidhex2name[r];var e=new KJUR.crypto.ECDSA({name:t});return e.setPublicKeyHex(s),e.setPrivateKeyHex(d),e.isPublic=!1,e}if(a.indexOf("-END DSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")!=-1){var l=KEYUTIL.getDecryptedKeyHex(a,b),m=ASN1HEX.getVbyList(l,0,[1],"02"),n=ASN1HEX.getVbyList(l,0,[2],"02"),o=ASN1HEX.getVbyList(l,0,[3],"02"),p=ASN1HEX.getVbyList(l,0,[4],"02"),q=ASN1HEX.getVbyList(l,0,[5],"02"),d=new KJUR.crypto.DSA;return d.setPrivate(new BigInteger(m,16),new BigInteger(n,16),new BigInteger(o,16),new BigInteger(p,16),new BigInteger(q,16)),d}if(a.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return KEYUTIL.getKeyFromEncryptedPKCS8PEM(a,b);throw"not supported argument"},KEYUTIL.generateKeypair=function(a,b){if("RSA"==a){var c=b,d=new RSAKey;d.generate(c,"10001"),d.isPrivate=!0,d.isPublic=!0;var e=new RSAKey,f=d.n.toString(16),g=d.e.toString(16);e.setPublic(f,g),e.isPrivate=!1,e.isPublic=!0;var h={};return h.prvKeyObj=d,h.pubKeyObj=e,h}if("EC"==a){var i=b,j=new KJUR.crypto.ECDSA({curve:i}),k=j.generateKeyPairHex(),d=new KJUR.crypto.ECDSA({curve:i});d.setPrivateKeyHex(k.ecprvhex),d.isPrivate=!0,d.isPublic=!1;var e=new KJUR.crypto.ECDSA({curve:i});e.setPublicKeyHex(k.ecpubhex),e.isPrivate=!1,e.isPublic=!0;var h={};return h.prvKeyObj=d,h.pubKeyObj=e,h}throw"unknown algorithm: "+a},KEYUTIL.getPEM=function(a,b,c,d,e){function f(a){var b=KJUR.asn1.ASN1Util.newObject({seq:[{int:0},{int:{bigint:a.n}},{int:a.e},{int:{bigint:a.d}},{int:{bigint:a.p}},{int:{bigint:a.q}},{int:{bigint:a.dmp1}},{int:{bigint:a.dmq1}},{int:{bigint:a.coeff}}]});return b}function g(a){var b=KJUR.asn1.ASN1Util.newObject({seq:[{int:1},{octstr:{hex:a.prvKeyHex}},{tag:["a0",!0,{oid:{name:a.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+a.pubKeyHex}}]}]});return b}function h(a){var b=KJUR.asn1.ASN1Util.newObject({seq:[{int:0},{int:{bigint:a.p}},{int:{bigint:a.q}},{int:{bigint:a.g}},{int:{bigint:a.y}},{int:{bigint:a.x}}]});return b}var i=KJUR.asn1,j=KJUR.crypto;if(("undefined"!=typeof RSAKey&&a instanceof RSAKey||"undefined"!=typeof j.DSA&&a instanceof j.DSA||"undefined"!=typeof j.ECDSA&&a instanceof j.ECDSA)&&1==a.isPublic&&(void 0===b||"PKCS8PUB"==b)){var k=new KJUR.asn1.x509.SubjectPublicKeyInfo(a),l=k.getEncodedHex();return i.ASN1Util.getPEMStringFromHex(l,"PUBLIC KEY")}if("PKCS1PRV"==b&&"undefined"!=typeof RSAKey&&a instanceof RSAKey&&(void 0===c||null==c)&&1==a.isPrivate){var k=f(a),l=k.getEncodedHex();return i.ASN1Util.getPEMStringFromHex(l,"RSA PRIVATE KEY")}if("PKCS1PRV"==b&&"undefined"!=typeof RSAKey&&a instanceof KJUR.crypto.ECDSA&&(void 0===c||null==c)&&1==a.isPrivate){var m=new KJUR.asn1.DERObjectIdentifier({name:a.curveName}),n=m.getEncodedHex(),o=g(a),p=o.getEncodedHex(),q="";return q+=i.ASN1Util.getPEMStringFromHex(n,"EC PARAMETERS"),q+=i.ASN1Util.getPEMStringFromHex(p,"EC PRIVATE KEY")}if("PKCS1PRV"==b&&"undefined"!=typeof KJUR.crypto.DSA&&a instanceof KJUR.crypto.DSA&&(void 0===c||null==c)&&1==a.isPrivate){var k=h(a),l=k.getEncodedHex();return i.ASN1Util.getPEMStringFromHex(l,"DSA PRIVATE KEY")}if("PKCS5PRV"==b&&"undefined"!=typeof RSAKey&&a instanceof RSAKey&&void 0!==c&&null!=c&&1==a.isPrivate){var k=f(a),l=k.getEncodedHex();return void 0===d&&(d="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",l,c,d)}if("PKCS5PRV"==b&&"undefined"!=typeof KJUR.crypto.ECDSA&&a instanceof KJUR.crypto.ECDSA&&void 0!==c&&null!=c&&1==a.isPrivate){var k=g(a),l=k.getEncodedHex();return void 0===d&&(d="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",l,c,d)}if("PKCS5PRV"==b&&"undefined"!=typeof KJUR.crypto.DSA&&a instanceof KJUR.crypto.DSA&&void 0!==c&&null!=c&&1==a.isPrivate){var k=h(a),l=k.getEncodedHex();return void 0===d&&(d="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",l,c,d)}var r=function(a,b){var c=s(a,b),d=new KJUR.asn1.ASN1Util.newObject({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:c.pbkdLine truncated
|
||||
========================================================================
|
||||
Blowfish.js from Dojo Toolkit 1.8.1
|
||||
Cut of by Sladex (xslade@gmail.com)
|
||||
|
||||
Created based on the C# implementation by Marcus Hahn (http://www.hotpixel.net/)
|
||||
Unsigned math based on Paul Johnstone and Peter Wood patches.
|
||||
2005-12-08
|
||||
|
||||
The Dojo Toolkit (including this package) is dual licensed under BSD 3-Clause and AFL.
|
||||
The Dojo Toolkit is Copyright (c) 2005-2016, The Dojo Foundation. All rights reserved.
|
||||
*/
|
||||
function(a){var b={};b.cipherModes={ECB:0,CBC:1,PCBC:2,CFB:3,OFB:4,CTR:5},b.outputTypes={Base64:0,Hex:1,String:2,Raw:3};var c={},d="=",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";c.encode=function(a){for(var b=[],c=a.length,f=c%3,g=c-f,h=0;h<g;){var i=a[h++]<<16|a[h++]<<8|a[h++];b.push(e.charAt(i>>>18&63)),b.push(e.charAt(i>>>12&63)),b.push(e.charAt(i>>>6&63)),b.push(e.charAt(63&i))}switch(f){case 2:var i=a[h++]<<16|a[h++]<<8;b.push(e.charAt(i>>>18&63)),b.push(e.charAt(i>>>12&63)),b.push(e.charAt(i>>>6&63)),b.push(d);break;case 1:var i=a[h++]<<16;b.push(e.charAt(i>>>18&63)),b.push(e.charAt(i>>>12&63)),b.push(d),b.push(d)}return b.join("")},c.decode=function(a){for(var b=a.split(""),c=[],f=b.length;b[--f]==d;);for(var g=0;g<f;){var h=e.indexOf(b[g++])<<18;g<=f&&(h|=e.indexOf(b[g++])<<12),g<=f&&(h|=e.indexOf(b[g++])<<6),g<=f&&(h|=e.indexOf(b[g++])),c.push(h>>>16&255),c.push(h>>>8&255),c.push(255&h)}for(;0==c[c.length-1];)c.pop();return c};var f={};f.isString=function(a){return"string"==typeof a||a instanceof String};var g={};g.map=function(a,b,c,d){var e=0,f=a&&a.length||0,g=new(d||Array)(f);if(f&&"string"==typeof a&&(a=a.split("")),"string"==typeof b&&(b=cache[b]||buildFn(b)),c)for(;e<f;++e)g[e]=b.call(c,a[e],e,a);else for(;e<f;++e)g[e]=b(a[e],e,a);return g},b.Blowfish=new function(){function a(a,b){return(a>>16^b>>16)<<16|65535&(65535&a^65535&b)}function d(a,b){var c=b.s3[255&a];a>>=8;var d=b.s2[255&a];a>>=8;var e=b.s1[255&a];a>>=8;var f=b.s0[255&a],g=(f>>16)+(e>>16)+((65535&f)+(65535&e)>>16)<<16|(65535&f)+(65535&e)&65535;return g=(g>>16^d>>16)<<16|65535&(65535&g^65535&d),(g>>16)+(c>>16)+((65535&g)+(65535&c)>>16)<<16|(65535&g)+(65535&c)&65535}function e(b,c){var e=b.left,f=b.right;e=a(e,c.p[0]),f=a(f,a(d(e,c),c.p[1])),e=a(e,a(d(f,c),c.p[2])),f=a(f,a(d(e,c),c.p[3])),e=a(e,a(d(f,c),c.p[4])),f=a(f,a(d(e,c),c.p[5])),e=a(e,a(d(f,c),c.p[6])),f=a(f,a(d(e,c),c.p[7])),e=a(e,a(d(f,c),c.p[8])),f=a(f,a(d(e,c),c.p[9])),e=a(e,a(d(f,c),c.p[10])),f=a(f,a(d(e,c),c.p[11])),e=a(e,a(d(f,c),c.p[12])),f=a(f,a(d(e,c),c.p[13])),e=a(e,a(d(f,c),c.p[14])),f=a(f,a(d(e,c),c.p[15])),e=a(e,a(d(f,c),c.p[16])),b.right=e,b.left=a(f,c.p[17])}function h(b,c){var e=b.left,f=b.right;e=a(e,c.p[17]),f=a(f,a(d(e,c),c.p[16])),e=a(e,a(d(f,c),c.p[15])),f=a(f,a(d(e,c),c.p[14])),e=a(e,a(d(f,c),c.p[13])),f=a(f,a(d(e,c),c.p[12])),e=a(e,a(d(f,c),c.p[11])),f=a(f,a(d(e,c),c.p[10])),e=a(e,a(d(f,c),c.p[9])),f=a(f,a(d(e,c),c.p[8])),e=a(e,a(d(f,c),c.p[7])),f=a(f,a(d(e,c),c.p[6])),e=a(e,a(d(f,c),c.p[5])),f=a(f,a(d(e,c),c.p[4])),e=a(e,a(d(f,c),c.p[3])),f=a(f,a(d(e,c),c.p[2])),e=a(e,a(d(f,c),c.p[1])),b.right=e,b.left=a(f,c.p[0])}function i(a){var b=a;f.isString(b)&&(b=g.map(b.split(""),function(a){return 255&a.charCodeAt(0)}));var c,d,h,i=0,k=0,l={left:0,right:0},m={p:g.map(n.p.slice(0),function(a){var c,d=b.length;for(c=0;c<4;c++)k=k*j|b[i++%d];return(a>>16^k>>16)<<16|65535&(65535&a^65535&k)}),s0:n.s0.slice(0),s1:n.s1.slice(0),s2:n.s2.slice(0),s3:n.s3.slice(0)};for(c=0,h=m.p.length;c<h;)e(l,m),m.p[c++]=l.left,m.p[c++]=l.right;for(c=0;c<4;c++)for(d=0,h=m["s"+c].length;d<h;)e(l,m),m["s"+c][d++]=l.left,m["s"+c][d++]=l.right;return m}var j=(Math.pow(2,2),Math.pow(2,3),Math.pow(2,4),Math.pow(2,8)),k=Math.pow(2,16),l=Math.pow(2,24),m=null,n={p:[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],s0:[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,23932Line truncated
|
||||
k=c.length);j--;)c[f]=c[f++-i];for(;8<=this.c;)this.c-=8,this.d--;this.a=f},c.prototype.e=function(){var a,b,c=new(h?Uint8Array:Array)(this.a-32768),d=this.a-32768,e=this.b;if(h)c.set(e.subarray(32768,c.length));else for(a=0,b=c.length;a<b;++a)c[a]=e[a+32768];if(this.g.push(c),this.k+=c.length,h)e.set(e.subarray(d,d+32768));else for(a=0;32768>a;++a)e[a]=e[d+a];return this.a=32768,e},c.prototype.v=function(a){var b,c,d,e,f=this.input.length/this.d+1|0,g=this.input,i=this.b;return a&&("number"==typeof a.o&&(f=a.o),"number"==typeof a.r&&(f+=a.r)),2>f?(c=(g.length-this.d)/this.n[2],e=258*(c/2)|0,d=e<i.length?i.length+e:i.length<<1):d=i.length*f,h?(b=new Uint8Array(d),b.set(i)):b=i,this.b=b},c.prototype.m=function(){var a,b,c,d,e,f=0,g=this.b,i=this.g,j=new(h?Uint8Array:Array)(this.k+(this.a-32768));if(0===i.length)return h?this.b.subarray(32768,this.a):this.b.slice(32768,this.a);for(b=0,c=i.length;b<c;++b)for(a=i[b],d=0,e=a.length;d<e;++d)j[f++]=a[d];for(b=32768,c=this.a;b<c;++b)j[f++]=g[b];return this.g=[],this.buffer=j},c.prototype.s=function(){var a,b=this.a;return h?this.q?(a=new Uint8Array(b),a.set(this.b.subarray(0,b))):a=this.b.subarray(0,b):(this.b.length>b&&(this.b.length=b),a=this.b),this.buffer=a},a("Zlib.RawInflate",c),a("Zlib.RawInflate.prototype.decompress",c.prototype.u);var C,D,E,F,G={ADAPTIVE:j,BLOCK:i};if(Object.keys)C=Object.keys(G);else for(D in C=[],E=0,G)C[E++]=D;for(E=0,F=C.length;E<F;++E)D=C[E],a("Zlib.RawInflate.BufferType."+D,G[D])}.call(this),function(){function a(a,b){var c=a.split("."),d=s;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||b===q?d=d[e]?d[e]:d[e]={}:d[e]=b}function b(a,b){if(this.index="number"==typeof b?b:0,this.f=0,this.buffer=a instanceof(t?Uint8Array:Array)?a:new(t?Uint8Array:Array)(32768),2*this.buffer.length<=this.index)throw Error("invalid index");this.buffer.length<=this.index&&c(this)}function c(a){var b,c=a.buffer,d=c.length,e=new(t?Uint8Array:Array)(d<<1);if(t)e.set(c);else for(b=0;b<d;++b)e[b]=c[b];return a.buffer=e}function d(a){var b,c=q,d="number"==typeof c?c:c=0,e=a.length;for(b=-1,d=7&e;d--;++c)b=b>>>8^B[255&(b^a[c])];for(d=e>>3;d--;c+=8)b=b>>>8^B[255&(b^a[c])],b=b>>>8^B[255&(b^a[c+1])],b=b>>>8^B[255&(b^a[c+2])],b=b>>>8^B[255&(b^a[c+3])],b=b>>>8^B[255&(b^a[c+4])],b=b>>>8^B[255&(b^a[c+5])],b=b>>>8^B[255&(b^a[c+6])],b=b>>>8^B[255&(b^a[c+7])];return(4294967295^b)>>>0}function e(a){this.buffer=new(t?Uint16Array:Array)(2*a),this.length=0}function f(a,b){this.k=D,this.l=0,this.input=t&&a instanceof Array?new Uint8Array(a):a,this.e=0,b&&(b.lazy&&(this.l=b.lazy),"number"==typeof b.compressionType&&(this.k=b.compressionType),b.outputBuffer&&(this.c=t&&b.outputBuffer instanceof Array?new Uint8Array(b.outputBuffer):b.outputBuffer),"number"==typeof b.outputIndex&&(this.e=b.outputIndex)),this.c||(this.c=new(t?Uint8Array:Array)(32768))}function g(a,b){this.length=a,this.n=b}function h(a,b){function c(a,b){var c,d=a.n,e=[],f=0;c=G[a.length],e[f++]=65535&c,e[f++]=c>>16&255,e[f++]=c>>24;var g;switch(r){case 1===d:g=[0,d-1,0];break;case 2===d:g=[1,d-2,0];break;case 3===d:g=[2,d-3,0];break;case 4===d:g=[3,d-4,0];break;case 6>=d:g=[4,d-5,1];break;case 8>=d:g=[5,d-7,1];break;case 12>=d:g=[6,d-9,2];break;case 16>=d:g=[7,d-13,2];break;case 24>=d:g=[8,d-17,3];break;case 32>=d:g=[9,d-25,3];break;case 48>=d:g=[10,d-33,4];break;case 64>=d:g=[11,d-49,4];break;case 96>=d:g=[12,d-65,5];break;case 128>=d:g=[13,d-97,5];break;case 192>=d:g=[14,d-129,6];break;case 256>=d:g=[15,d-193,6];break;case 384>=d:g=[16,d-257,7];break;case 512>=d:g=[17,d-385,7];break;case 768>=d:g=[18,d-513,8];break;case 1024>=d:g=[19,d-769,8];break;case 1536>=d:g=[20,d-1025,9];break;case 2048>=d:g=[21,d-1537,9];break;case 3072>=d:g=[22,d-2049,10];break;case 4096>=d:g=[23,d-3073,10];break;case 6144>=d:g=[24,d-4097,11];break;case 8192>=d:g=[25,d-6145,11];break;case 12288>=d:g=[26,d-8193,12];break;case 16384>=d:g=[27,d-12289,12];break;case 24576>=d:g=[28,d-16385,13];break;case 32768>=d:g=[29,d-24577,13];break;default:throw"invalid distance"}c=g,e[f++]=c[0],e[f++]=c[1],e[f++]=c[2];var h,i;for(h=0,i=e.length;h<i;++h)o[p++]=e[h];u[e[0]]++,v[e[3]]++,s=a.length+b-1,l=null}var d,e,f,g,h,j,k,l,m,n={},o=t?new Uint16Array(2*b.length):[],p=0,s=0,u=new(t?Uint32Array:Array)(286),v=new(t?Uint32Array:Array)(30),w=a.l;if(!t){for(f=0;285>=f;)u[f++]=0;for(f=0;29>=f;)v[f++]=0}for(u[256]=1,d=0,e=b.length;d<e;++d){for(f=h=0,g=3;f<g&&d+f!==e;++f)h=h<<8|b[d+f];if(n[h]===q&&(n[h]=[]),j=n[h],!(0<s--)){for(;0<j.length&&32768<d-j[0];)j.shift();if(d+3>=e){for(l&&c(l,-1),f=0,g=e-d;f<g;++f)m=b[d+f],o[p++]=m,++u[m];break}0<j.length?(k=i(b,d,j),l?l.length<k.length?(m=b[d-1],o[p++]=m,++u[m],c(k,0)):c(l,-1):k.length<w?l=k:c(k,0)):l?c(l,-1):(m=b[d],o[p++]=m,++u[m])}j.push(d)}return o[p++]=256,u[256]++,a.p=u,a.o=v,t?o.subarray(0,p):o}function i(a,b,c){var d,e,f,h,i,j,k=0,l=a.length;h=0,j=c.length;a:for(;h<j;h++){if(d=c[j-h-1],f=3,3<k){for(i=k;3<i;i--)if(a[d+i-1]!==a[b+i-1])continue a;f=k}for(;258>f&&Line truncated
|
||||
}).r();break;default:a(Error("unknown compression type"))}if(this.ca){var v,x=o,y="number"==typeof x?x:x=0,z=j.length;for(v=-1,y=7&z;y--;++x)v=v>>>8^w[255&(v^j[x])];for(y=z>>3;y--;x+=8)v=v>>>8^w[255&(v^j[x])],v=v>>>8^w[255&(v^j[x+1])],v=v>>>8^w[255&(v^j[x+2])],v=v>>>8^w[255&(v^j[x+3])],v=v>>>8^w[255&(v^j[x+4])],v=v>>>8^w[255&(v^j[x+5])],v=v>>>8^w[255&(v^j[x+6])],v=v>>>8^w[255&(v^j[x+7])];n=(4294967295^v)>>>0,g.p!==n&&a(Error("wrong crc: file=0x"+g.p.toString(16)+", data=0x"+n.toString(16)))}return j},n.M=function(a){this.j=a},n.k=h.prototype.k,n.T=h.prototype.U,n.s=h.prototype.s,b("Zlib.Unzip",i),b("Zlib.Unzip.prototype.decompress",i.prototype.r),b("Zlib.Unzip.prototype.getFilenames",i.prototype.Z),b("Zlib.Unzip.prototype.setPassword",i.prototype.M)}.call(this),/** @license
|
||||
========================================================================
|
||||
zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License
|
||||
*/
|
||||
function(){function a(a){throw a}function b(a,b){var c=a.split("."),d=A;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||b===y?d=d[e]?d[e]:d[e]={}:d[e]=b}function c(b,c){this.index="number"==typeof c?c:0,this.m=0,this.buffer=b instanceof(B?Uint8Array:Array)?b:new(B?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&a(Error("invalid index")),this.buffer.length<=this.index&&this.f()}function d(a,b,c){var d,e="number"==typeof b?b:b=0,f="number"==typeof c?c:a.length;for(d=-1,e=7&f;e--;++b)d=d>>>8^J[255&(d^a[b])];for(e=f>>3;e--;b+=8)d=d>>>8^J[255&(d^a[b])],d=d>>>8^J[255&(d^a[b+1])],d=d>>>8^J[255&(d^a[b+2])],d=d>>>8^J[255&(d^a[b+3])],d=d>>>8^J[255&(d^a[b+4])],d=d>>>8^J[255&(d^a[b+5])],d=d>>>8^J[255&(d^a[b+6])],d=d>>>8^J[255&(d^a[b+7])];return(4294967295^d)>>>0}function e(){}function f(a){this.buffer=new(B?Uint16Array:Array)(2*a),this.length=0}function g(a){var b,c,d,e,f,g,h,i,j,k,l=a.length,m=0,n=Number.POSITIVE_INFINITY;for(i=0;i<l;++i)a[i]>m&&(m=a[i]),a[i]<n&&(n=a[i]);for(b=1<<m,c=new(B?Uint32Array:Array)(b),d=1,e=0,f=2;d<=m;){for(i=0;i<l;++i)if(a[i]===d){for(g=0,h=e,j=0;j<d;++j)g=g<<1|1&h,h>>=1;for(k=d<<16|i,j=g;j<b;j+=f)c[j]=k;++e}++d,e<<=1,f<<=1}return[c,m,n]}function h(a,b){this.k=L,this.I=0,this.input=B&&a instanceof Array?new Uint8Array(a):a,this.b=0,b&&(b.lazy&&(this.I=b.lazy),"number"==typeof b.compressionType&&(this.k=b.compressionType),b.outputBuffer&&(this.a=B&&b.outputBuffer instanceof Array?new Uint8Array(b.outputBuffer):b.outputBuffer),"number"==typeof b.outputIndex&&(this.b=b.outputIndex)),this.a||(this.a=new(B?Uint8Array:Array)(32768))}function i(a,b){this.length=a,this.Q=b}function j(b,c){function d(b,c){var d,e=b.Q,f=[],g=0;d=P[b.length],f[g++]=65535&d,f[g++]=d>>16&255,f[g++]=d>>24;var h;switch(z){case 1===e:h=[0,e-1,0];break;case 2===e:h=[1,e-2,0];break;case 3===e:h=[2,e-3,0];break;case 4===e:h=[3,e-4,0];break;case 6>=e:h=[4,e-5,1];break;case 8>=e:h=[5,e-7,1];break;case 12>=e:h=[6,e-9,2];break;case 16>=e:h=[7,e-13,2];break;case 24>=e:h=[8,e-17,3];break;case 32>=e:h=[9,e-25,3];break;case 48>=e:h=[10,e-33,4];break;case 64>=e:h=[11,e-49,4];break;case 96>=e:h=[12,e-65,5];break;case 128>=e:h=[13,e-97,5];break;case 192>=e:h=[14,e-129,6];break;case 256>=e:h=[15,e-193,6];break;case 384>=e:h=[16,e-257,7];break;case 512>=e:h=[17,e-385,7];break;case 768>=e:h=[18,e-513,8];break;case 1024>=e:h=[19,e-769,8];break;case 1536>=e:h=[20,e-1025,9];break;case 2048>=e:h=[21,e-1537,9];break;case 3072>=e:h=[22,e-2049,10];break;case 4096>=e:h=[23,e-3073,10];break;case 6144>=e:h=[24,e-4097,11];break;case 8192>=e:h=[25,e-6145,11];break;case 12288>=e:h=[26,e-8193,12];break;case 16384>=e:h=[27,e-12289,12];break;case 24576>=e:h=[28,e-16385,13];break;case 32768>=e:h=[29,e-24577,13];break;default:a("invalid distance")}d=h,f[g++]=d[0],f[g++]=d[1],f[g++]=d[2];var i,j;for(i=0,j=f.length;i<j;++i)p[q++]=f[i];s[f[0]]++,t[f[3]]++,r=b.length+c-1,m=null}var e,f,g,h,i,j,l,m,n,o={},p=B?new Uint16Array(2*c.length):[],q=0,r=0,s=new(B?Uint32Array:Array)(286),t=new(B?Uint32Array:Array)(30),u=b.I;if(!B){for(g=0;285>=g;)s[g++]=0;for(g=0;29>=g;)t[g++]=0}for(s[256]=1,e=0,f=c.length;e<f;++e){for(g=i=0,h=3;g<h&&e+g!==f;++g)i=i<<8|c[e+g];if(o[i]===y&&(o[i]=[]),j=o[i],!(0<r--)){for(;0<j.length&&32768<e-j[0];)j.shift();if(e+3>=f){for(m&&d(m,-1),g=0,h=f-e;g<h;++g)n=c[e+g],p[q++]=n,++s[n];break}0<j.length?(l=k(c,e,j),m?m.length<l.length?(n=c[e-1],p[q++]=n,++s[n],d(l,0)):d(m,-1):l.length<u?m=l:d(l,0)):m?d(m,-1):(n=c[e],p[q++]=n,++s[n])}j.push(e)}return p[q++]=256,s[256]++,b.W=s,b.V=t,B?p.subarray(0,q):p}function k(a,b,c){var d,e,f,g,h,j,k=0,l=a.length;g=0,j=c.length;a:for(;g<j;g++){if(d=c[j-g-1],f=3,3<k){for(h=k;3<h;h--)if(a[d+h-1]!==a[b+h-1])continue a;f=k}for(;258>f&&b+f<l&&a[d+f]===a[b+f];)++f;if(f>k&&(e=d,k=f),258===f)break}return new i(k,b-e)}function l(a,b){var c,d,e,g,h,i=a.length,j=new f(572),k=new(B?Uint8Array:Array)(i);if(!B)for(g=0;g<i;g++)k[g]=0;for(g=0;g<i;++g)0<a[g]&&j.push(g,a[g]);if(c=Array(j.length/2),d=new(B?Uint32Array:Array)(j.length/2),1===c.length)return k[j.pop().index]=1,k;for(g=0,h=j.length/2;g<h;++g)c[g]=j.pop(),d[g]=c[g].value;for(e=m(d,d.length,b),g=0,h=c.length;g<h;++g)k[c[g].index]=e[g];return k}function m(a,b,c){function d(a){var c=n[a][o[a]];c===b?(d(a+1),d(a+1)):--l[c],++o[a]}var e,f,g,h,i,j=new(B?Uint16Array:Array)(c),k=new(B?Uint8Array:Array)(c),l=new(B?Uint8Array:Array)(b),m=Array(c),n=Array(c),o=Array(c),p=(1<<c)-b,q=1<<c-1;for(j[c-1]=b,f=0;f<c;++f)p<q?k[f]=0:(k[f]=1,p-=q),p<<=1,j[c-2-f]=(j[c-1-f]/2|0)+b;for(j[0]=k[0],m[0]=Array(j[0]),n[0]=Array(j[0]),f=1;f<c;++f)j[f]>2*j[f-1]+k[f]&&(j[f]=2*j[f-1]+k[f]),m[f]=Array(j[f]),n[f]=Array(j[f]);for(e=0;e<b;++e)l[e]=c;for(g=0;g<j[c-1];++g)m[c-1][g]=a[g],n[c-1][g]=g;for(e=0;e<c;++e)o[e]=0;for(1===k[c-1]&&(--l[0],++o[c-1]),f=c-2;0<=f;--f){for(h=e=0,i=o[f+1],g=0;g<j[f];g++)h=m[f+1][i]+m[f+1][i+1],h>a[e]?(m[f][g]=h,n[f][g]=b,i+=2):(m[f][g]=a[e],n[f][g]=e,++e);o[f]=0,1===k[f]&&d(f)}return l}function n(a){var b,c,d,e,f=neLine truncated
|
||||
metadata:{uaFamily:"Jyxobot",uaName:"Jyxobot",uaUrl:"",uaCompany:"Jyxo s.r.o.",uaCompanyUrl:"http://jyxo.cz/",uaIcon:"bot_Jyxobot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Jyxobot"}},9:{userAgent:"Scooter/3.3",metadata:{uaFamily:"Scooter",uaName:"Scooter/3.3",uaUrl:"",uaCompany:"AltaVista",uaCompanyUrl:"http://www.altavista.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Scooter"}},14:{userAgent:"Baiduspider+(+http://www.baidu.com/search/spider.htm)",metadata:{uaFamily:"Baiduspider",uaName:"Baiduspider",uaUrl:"http://www.baidu.com/search/spider.htm",uaCompany:"Baidu",uaCompanyUrl:"http://www.baidu.com/",uaIcon:"bot_baiduspider.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Baiduspider"}},20:{userAgent:"lmspider (lmspider@scansoft.com)",metadata:{uaFamily:"lmspider",uaName:"lmspider",uaUrl:"http://www.nuance.com/",uaCompany:"Nuance Communications, Inc.",uaCompanyUrl:"http://www.nuance.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=lmspider"}},25:{userAgent:"Googlebot-Image/1.0",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Image/1.0",uaUrl:"http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1061943",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},31:{userAgent:"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot/2.1",uaUrl:"http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1061943",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},32:{userAgent:"ConveraMultiMediaCrawler/0.1 (+http://www.authoritativeweb.com/crawl)",metadata:{uaFamily:"ConveraCrawler",uaName:"ConveraMultiMediaCrawler/0.1",uaUrl:"http://www.authoritativeweb.com/crawl",uaCompany:"Convera Corporation",uaCompanyUrl:"http://www.authoritativeweb.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ConveraCrawler"}},37:{userAgent:"Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)",metadata:{uaFamily:"Ask Jeeves/Teoma",uaName:"Ask Jeeves/Teoma - b",uaUrl:"http://about.ask.com/en/docs/about/webmasters.shtml",uaCompany:"Ask Jeeves Inc.",uaCompanyUrl:"http://about.ask.com/en/docs/about/index.shtml",uaIcon:"bot_AskJeeves.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Ask Jeeves/Teoma"}},38:{userAgent:"NG/2.0",metadata:{uaFamily:"NG",uaName:"NG/2.0",uaUrl:"",uaCompany:"Exalead",uaCompanyUrl:"http://exalead.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=NG"}},40:{userAgent:"TutorGigBot/1.5 ( +http://www.tutorgig.info )",metadata:{uaFamily:"TutorGigBot",uaName:"TutorGigBot",uaUrl:"http://www.tutorgig.com/help.html",uaCompany:"TutorGig",uaCompanyUrl:"http://www.tutorgig.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=TutorGigBot"}},43:{userAgent:"ZACATEK_CZ_BOT (www.zacatek.cz)",metadata:{uaFamily:"ZACATEK_CZ",uaName:"ZACATEK_CZ_BOT",uaUrl:"http://www.zacatek.cz/",uaCompany:"webprovider - Adam Haken",uaCompanyUrl:"http://www.webprovider.cz/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ZACATEK_CZ"}},45:{userAgent:"Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)",metadata:{uaFamily:"Girafabot",uaName:"Girafabot",uaUrl:"",uaCompany:"Girafa Inc.",uaCompanyUrl:"http://www.girafa.com/",uaIcon:"bot_girafabot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Girafabot"}},47:{userAgent:"FAST MetaWeb Crawler (helpdesk at fastsearch dot com)",metadata:{uaFamily:"FAST MetaWeb Crawler",uaName:"FAST MetaWeb Crawler",uaUrl:"http://www.fast.no/glossary.aspx?m=48&amid=415",uaCompany:"Fast Search & Transfer",uaCompanyUrl:"http://www.fastsearch.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FAST MetaWeb Crawler"}},56:{userAgent:"psbot/0.1 (+http://www.picsearch.com/bot.html)",metadata:{uaFamily:"psbot",uaName:"psbot/0.1",uaUrl:"http://www.picsearch.com/bot.html",uaCompany:"picsearch.com",uaCompanyUrl:"http://www.picsearch.com/",uaIcon:"bot_psbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=psbot"}},76:{userAgent:"City4you/1.3 Cesky (+http://www.city4you.pl)",metadata:{uaFamily:"City4you",uaName:"City4you/1.3 Cesky",uaUrl:"",uaCompany:"city4you",uaCompanyUrl:"http://www.city4you.pl/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=City4you"}},80:{userAgent:"ConveraCrawler/0.9d (+http://www.authoritativeweb.com/crawl)",metadata:{uaFamily:"ConveraCrawler",uaName:"ConveraCrawler 0.9d",uaUrl:"http://www.authoritativeweb.com/crawl",uaCompany:"Convera Corporation",uaCompanyUrl:"http://www.authoritativeweb.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ConveraCrawler"}},81:{userAgent:"IlTrovatore-Setaccio/1.2 (It search engine; http://www.iltrovatore.it/bot.html; bot@iltrovatore.it)",metadata:{uaFamily:"IlTrovatore-Setaccio",uaName:"IlTrovatore-Setaccio/1.2",uaUrl:"http://www.iltrovatore.it/bot.html",uaCompany:"ILine truncated
|
||||
uaFamily:"NimbleCrawler",uaName:"NimbleCrawler/1.15",uaUrl:"",uaCompany:"Healthline Networks, Inc.",uaCompanyUrl:"http://www.healthline.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=NimbleCrawler"}},295:{userAgent:"MetaTagRobot/1.6 (http://www.widexl.com/remote/search-engines/metatag-analyzer.html)",metadata:{uaFamily:"MetaTagRobot",uaName:"MetaTagRobot/1.6",uaUrl:"http://www.widexl.com/remote/search-engines/metatag-analyzer.html",uaCompany:"widexl.com",uaCompanyUrl:"http://www.widexl.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MetaTagRobot"}},296:{userAgent:"sproose/0.1-alpha (sproose crawler; http://www.sproose.com/bot.html; crawler@sproose.com)",metadata:{uaFamily:"sproose",uaName:"sproose/0.1-alpha",uaUrl:"http://www.sproose.com/bot.html",uaCompany:"Sproose, Inc.",uaCompanyUrl:"http://www.sproose.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sproose"}},301:{userAgent:"Search Engine World Robots.txt Validator at http://www.searchengineworld.com/cgi-bin/robotcheck.cgi",metadata:{uaFamily:"Search Engine World Robots.txt Validator",uaName:"Search Engine World Robots.txt Validator",uaUrl:"http://www.searchengineworld.com/cgi-bin/robotcheck.cgi",uaCompany:"searchengineworld",uaCompanyUrl:"http://www.searchengineworld.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Search Engine World Robots.txt Validator"}},303:{userAgent:"Gaisbot/3.0+(robot06@gais.cs.ccu.edu.tw;+http://gais.cs.ccu.edu.tw/robot.php)",metadata:{uaFamily:"Gaisbot",uaName:"Gaisbot/3.0 - 06",uaUrl:"http://gais.cs.ccu.edu.tw/robot.php",uaCompany:"National Chung Cheng University",uaCompanyUrl:"http://www.ccu.edu.tw/",uaIcon:"bot_gaisbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Gaisbot"}},306:{userAgent:"Forschungsportal/0.8-dev (Testinstallation; http://www.forschungsportal.net/; fpcrawler@rrzn.uni-hannover.de)",metadata:{uaFamily:"Forschungsportal",uaName:"Forschungsportal/0.8-dev",uaUrl:"http://www.forschungsportal.net/",uaCompany:"Bundesministerium f\xfcr Bildung und Forschung",uaCompanyUrl:"http://www.bmbf.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Forschungsportal"}},307:{userAgent:"HooWWWer/2.2.0 (debugging run) (+http://cosco.hiit.fi/search/hoowwwer/ | mailto:crawler-info<at>hiit.fi)",metadata:{uaFamily:"HooWWWer",uaName:"HooWWWer/2.2.0",uaUrl:"http://cosco.hiit.fi/search/hoowwwer/",uaCompany:"CoSCo",uaCompanyUrl:"http://cosco.hiit.fi/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HooWWWer"}},308:{userAgent:"OmniExplorer_Bot/6.47 (+http://www.omni-explorer.com) WorldIndexer",metadata:{uaFamily:"OmniExplorer_Bot",uaName:"OmniExplorer_Bot/6.47",uaUrl:"http://www.omni-explorer.com/",uaCompany:"",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=OmniExplorer_Bot"}},310:{userAgent:"Orbiter (+http://www.dailyorbit.com/bot.htm)",metadata:{uaFamily:"Orbiter",uaName:"Orbiter",uaUrl:"http://www.dailyorbit.com/bot.htm",uaCompany:"DailyOrbit.com",uaCompanyUrl:"http://www.dailyorbit.com/",uaIcon:"bot_orbiter.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Orbiter"}},312:{userAgent:"FAST Enterprise Crawler/6.4 (crawler@fast.no)",metadata:{uaFamily:"FAST Enterprise Crawler",uaName:"FAST Enterprise Crawler/6.4",uaUrl:"http://www.fast.no/glossary.aspx?m=48&amid=415",uaCompany:"Fast Search & Transfer",uaCompanyUrl:"http://www.fastsearch.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FAST Enterprise Crawler"}},317:{userAgent:"csci_b659/0.13",metadata:{uaFamily:"csci_b659",uaName:"csci_b659/0.13",uaUrl:"http://informatics.indiana.edu/fil/Class/b659/",uaCompany:"Indiana University",uaCompanyUrl:"http://www.indiana.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=csci_b659"}},321:{userAgent:"NutchCVS/0.06-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)",metadata:{uaFamily:"Nutch",uaName:"NutchCVS/0.06-dev",uaUrl:"http://www.nutch.org/docs/en/bot.html",uaCompany:"lucene",uaCompanyUrl:"http://lucene.apache.org/",uaIcon:"bot_Nutch.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Nutch"}},323:{userAgent:"NutchCVS/0.7.1 (Nutch running at UW; http://www.nutch.org/docs/en/bot.html; sycrawl@cs.washington.edu)",metadata:{uaFamily:"Nutch",uaName:"NutchCVS/0.7.1 at washihinton.edu",uaUrl:"http://www.nutch.org/docs/en/bot.html",uaCompany:"lucene",uaCompanyUrl:"http://lucene.apache.org/",uaIcon:"bot_Nutch.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Nutch"}},326:{userAgent:"miniRank/1.6 (Website ranking; www.minirank.com; robot)",metadata:{uaFamily:"miniRank",uaName:"miniRank/1.6",uaUrl:"http://www.minirank.com/",uaCompany:"TitaniumLine.com",uaCompanyUrl:"http://titaniumline.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=miniRank"}},327:{userAgent:"ccubee/3.5",metadata:{uaFamily:"ccubee",uaName:"ccubee/3.5",uaUrl:"http://empyreum.com/technologies/platforms/ccubee/",uaCompany:"EMPYREUM k. s.",uaCompanyUrl:"http://empyreum.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ccubee"}},328:{userAgeLine truncated
|
||||
metadata:{uaFamily:"EDI",uaName:"EDI/1.6.5",uaUrl:"",uaCompany:"Daum Communications Corp.",uaCompanyUrl:"http://info.daum.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=EDI"}},560:{userAgent:"ccubee/9.0",metadata:{uaFamily:"ccubee",uaName:"ccubee/9.0",uaUrl:"http://empyreum.com/technologies/platforms/ccubee/",uaCompany:"EMPYREUM k. s.",uaCompanyUrl:"http://empyreum.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ccubee"}},562:{userAgent:"MQBOT/Nutch-0.9-dev (MQBOT Nutch Crawler; http://falcon.cs.uiuc.edu; mqbot@cs.uiuc.edu)",metadata:{uaFamily:"MQbot",uaName:"MQBOT/Nutch-0.9-dev",uaUrl:"http://metaquerier.cs.uiuc.edu/crawler/",uaCompany:"University of Illinois at Urbana-Champaign",uaCompanyUrl:"http://www.uiuc.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MQbot"}},563:{userAgent:"Mozilla/5.0 (compatible; nextthing.org/1.0; +http://www.nextthing.org/bot)",metadata:{uaFamily:"nextthing.org",uaName:"nextthing.org/1.0",uaUrl:"http://www.nextthing.org/bot/",uaCompany:"Andrew Wooster",uaCompanyUrl:"http://www.cs.hmc.edu/~awooster/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=nextthing.org"}},564:{userAgent:"crawler43.ejupiter.com",metadata:{uaFamily:"ejupiter.com",uaName:"ejupiter.com 43",uaUrl:"http://robot.ejupiter.com/16/robot_privacy.html",uaCompany:"eJupiter Inc",uaCompanyUrl:"http://www.ejupiter.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ejupiter.com"}},565:{userAgent:"Szukacz/1.5 (robot; www.szukacz.pl/jakdzialarobot.html; info@szukacz.pl)",metadata:{uaFamily:"Szukacz",uaName:"Szukacz/1.5 b",uaUrl:"http://www.szukacz.pl/jakdzialarobot.html",uaCompany:"24 Godziny Sp. z o.o.",uaCompanyUrl:"http://www.szukacz.pl/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Szukacz"}},566:{userAgent:"Mozilla/5.0 (compatible; BecomeBot/3.0; +http://www.become.com/site_owners.html)",metadata:{uaFamily:"BecomeBot",uaName:"BecomeBot/3.0 b",uaUrl:"http://www.become.com/site_owners.html",uaCompany:"Become, Inc.",uaCompanyUrl:"http://www.become.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=BecomeBot"}},567:{userAgent:"Steeler/3.2 (http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)",metadata:{uaFamily:"Steeler",uaName:"Steeler/3.2",uaUrl:"http://www.tkl.iis.u-tokyo.ac.jp/~crawler/",uaCompany:"Kitsuregawa Laboratory, The University of Tokyo",uaCompanyUrl:"http://www.tkl.iis.u-tokyo.ac.jp/",uaIcon:"bot_Steeler.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Steeler"}},569:{userAgent:"Mozilla/4.0 (compatible; EDI/1.6.6; Edacious & Intelligent Web Robot; Daum Communications Corp., Korea)",metadata:{uaFamily:"EDI",uaName:"EDI/1.6.6",uaUrl:"",uaCompany:"Daum Communications Corp.",uaCompanyUrl:"http://info.daum.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=EDI"}},580:{userAgent:"Blaiz-Bee/2.00.5655 (+http://www.blaiz.net)",metadata:{uaFamily:"Blaiz-Bee",uaName:"Blaiz-Bee/2.00.5655",uaUrl:"http://www.rawgrunt.com/index.html",uaCompany:"Blaiz Enterprises",uaCompanyUrl:"http://www.blaiz.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Blaiz-Bee"}},581:{userAgent:"Zeusbot/0.07 (Ulysseek's web-crawling robot; http://www.zeusbot.com; agent@zeusbot.com)",metadata:{uaFamily:"Zeusbot",uaName:"Zeusbot/0.07",uaUrl:"http://www.zeusbot.com/",uaCompany:"Ulysseek",uaCompanyUrl:"http://www.ulysseek.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Zeusbot"}},587:{userAgent:"MQBOT/Nutch-0.9-dev (MQBOT Crawler; http://falcon.cs.uiuc.edu; mqbot@cs.uiuc.edu)",metadata:{uaFamily:"MQbot",uaName:"MQBOT/Nutch-0.9-dev b",uaUrl:"http://metaquerier.cs.uiuc.edu/crawler/",uaCompany:"University of Illinois at Urbana-Champaign",uaCompanyUrl:"http://www.uiuc.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MQbot"}},588:{userAgent:"CazoodleBot/Nutch-0.9-dev (CazoodleBot Crawler; http://www.cazoodle.com; mqbot@cazoodle.com)",metadata:{uaFamily:"CazoodleBot",uaName:"CazoodleBot d",uaUrl:"http://www.cazoodle.com/cazoodlebot.php",uaCompany:"Cazoodle Inc.",uaCompanyUrl:"http://www.cazoodle.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CazoodleBot"}},594:{userAgent:"ccubee/10.0",metadata:{uaFamily:"ccubee",uaName:"ccubee/10.0",uaUrl:"http://empyreum.com/technologies/platforms/ccubee/",uaCompany:"EMPYREUM k. s.",uaCompanyUrl:"http://empyreum.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ccubee"}},597:{userAgent:"Mozilla/5.0 (compatible; egothor/8.0g; +http://ego.ms.mff.cuni.cz/)",metadata:{uaFamily:"egothor",uaName:"egothor/8.0g",uaUrl:"http://ego.ms.mff.cuni.cz/",uaCompany:"Katedra softwarov\xe9ho in\u017een\xfdrstv\xed Univerzity Karlovi",uaCompanyUrl:"http://kocour.ms.mff.cuni.cz/cs/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=egothor"}},600:{userAgent:"Mozilla/4.0 (compatible; MSIE is not me; EDI/1.6.6; Edacious & Intelligent Web Robot; Daum Communications Corp., Korea)",metadata:{uaFamily:"EDI",uaName:"EDI/1.6.6 b",uaUrl:"",uaCompany:"Daum Communications Corp.",uaCompanyUrl:"http://info.daum.net/",uaLine truncated
|
||||
uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Acorn"}},832:{userAgent:"nestReader/0.2 (discovery; http://echonest.com/reader.shtml; reader at echonest.com)",metadata:{uaFamily:"nestReader",uaName:"nestReader/0.2",uaUrl:"http://echonest.com/reader.shtml",uaCompany:"The Echo Nest Corporation",uaCompanyUrl:"http://echonest.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=nestReader"}},833:{userAgent:"boitho.com-dc/0.86 ( http://www.boitho.com/dcbot.html )",metadata:{uaFamily:"boitho.com-dc",uaName:"boitho.com-dc/0.86",uaUrl:"http://www.boitho.com/dcbot.html",uaCompany:"Boitho",uaCompanyUrl:"http://www.boitho.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=boitho.com-dc"}},835:{userAgent:"Snappy/1.1 ( http://www.urltrends.com/ )",metadata:{uaFamily:"Snappy",uaName:"Snappy/1.1",uaUrl:"http://www.urltrends.com/",uaCompany:"Xerocity Design Group, LLC.",uaCompanyUrl:"http://www.xerocity.com/",uaIcon:"bot_snappy.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Snappy"}},844:{userAgent:"great-plains-web-spider/gpws (Flatland Industries Web Spider; http://www.flatlandindustries.com/flatlandbot.php; jason@flatlandindustries.com)",metadata:{uaFamily:"flatlandbot",uaName:"flatlandbot c",uaUrl:"http://www.flatlandindustries.com/flatlandbot.php",uaCompany:"Flatland Industries, Inc.",uaCompanyUrl:"http://www.flatlandindustries.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=flatlandbot"}},851:{userAgent:"Mozilla/5.0 (compatible; FunnelBack; http://cyan.funnelback.com/robot.html)",metadata:{uaFamily:"FunnelBack",uaName:"FunnelBack",uaUrl:"http://cyan.funnelback.com/robot.html",uaCompany:"Funnelback Pty Ltd",uaCompanyUrl:"http://www.funnelback.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FunnelBack"}},856:{userAgent:"RedBot/redbot-1.0 (Rediff.com Crawler; redbot at rediff dot com)",metadata:{uaFamily:"RedBot",uaName:"RedBot1.0",uaUrl:"",uaCompany:"Rediff.com India Limited.",uaCompanyUrl:"http://www.rediff.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=RedBot"}},859:{userAgent:"Mozilla/5.0 (compatible; heritrix/1.12.0 +http://www.accelobot.com)",metadata:{uaFamily:"Accelobot",uaName:"Accelobot",uaUrl:"http://www.accelobot.com/",uaCompany:"NetBase Solutions, Inc.",uaCompanyUrl:"http://www.netbase.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Accelobot"}},861:{userAgent:"wectar/Nutch-0.9 (nectar extracted form the glorious web; http://goosebumps4all.net/wectar; see website)",metadata:{uaFamily:"wectar",uaName:"wectar/Nutch-0.9 b",uaUrl:"http://wectar.com/",uaCompany:"Martin Dudek",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=wectar"}},865:{userAgent:"MQBOT/Nutch-0.9-dev (MQBOT Nutch Crawler; http://vwbot.cs.uiuc.edu; mqbot@cs.uiuc.edu)",metadata:{uaFamily:"MQbot",uaName:"MQBOT/Nutch-0.9-dev c",uaUrl:"http://metaquerier.cs.uiuc.edu/crawler/",uaCompany:"University of Illinois at Urbana-Champaign",uaCompanyUrl:"http://www.uiuc.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MQbot"}},872:{userAgent:"Willow Internet Crawler by Twotrees V2.1",metadata:{uaFamily:"Willow Internet Crawler",uaName:"Willow Internet Crawler 2.1",uaUrl:"",uaCompany:"Twotrees Technologies, LLC.",uaCompanyUrl:"http://www.twotrees.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Willow Internet Crawler"}},873:{userAgent:"Netintelligence LiveAssessment - www.netintelligence.com",metadata:{uaFamily:"Netintelligence LiveAssessment",uaName:"Netintelligence LiveAssessment",uaUrl:"",uaCompany:"Netintelligence Limited",uaCompanyUrl:"http://www.netintelligence.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Netintelligence LiveAssessment"}},874:{userAgent:"Mozilla/5.0 (compatible; SkreemRBot +http://skreemr.com)",metadata:{uaFamily:"SkreemRBot",uaName:"SkreemRBot",uaUrl:"",uaCompany:"SkreemR",uaCompanyUrl:"http://skreemr.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SkreemRBot"}},876:{userAgent:"great-plains-web-spider/flatlandbot (Flatland Industries Web Robot; http://www.flatlandindustries.com/flatlandbot.php; jason@flatlandindustries.com)",metadata:{uaFamily:"flatlandbot",uaName:"flatlandbot b",uaUrl:"http://www.flatlandindustries.com/flatlandbot.php",uaCompany:"Flatland Industries, Inc.",uaCompanyUrl:"http://www.flatlandindustries.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=flatlandbot"}},877:{userAgent:"flatlandbot/flatlandbot (Flatland Industries Web Spider; http://www.flatlandindustries.com/flatlandbot.php; jason@flatlandindustries.com)",metadata:{uaFamily:"flatlandbot",uaName:"flatlandbot",uaUrl:"http://www.flatlandindustries.com/flatlandbot.php",uaCompany:"Flatland Industries, Inc.",uaCompanyUrl:"http://www.flatlandindustries.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=flatlandbot"}},881:{userAgent:"Larbin (larbin2.6.3@unspecified.mail)",metadata:{uaFamily:"Larbin",uaName:"Larbin/2.6.3",uaUrl:"",uaCompany:"Sebastien Ailleret",uaCompanyUrl:"http://larbin.sourceforg
Line truncated
|
||||
uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Daumoa"}},1468:{userAgent:"msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)",metadata:{uaFamily:"MSNBot",uaName:"msnbot-media/1.1",uaUrl:"http://search.msn.com/msnbot.htm",uaCompany:"Microsoft Corporation",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"bot_msnbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MSNBot"}},1469:{userAgent:"OOZBOT/0.20 ( -- ; http://www.setooz.com/oozbot.html ; agentname at setooz dot_com )",metadata:{uaFamily:"Setoozbot",uaName:"OOZBOT/0.20",uaUrl:"http://www.setooz.com/oozbot.html",uaCompany:"SETU Software Systems (P) Ltd.",uaCompanyUrl:"http://www.setusoftware.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Setoozbot"}},1470:{userAgent:"Sogou develop spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",metadata:{uaFamily:"sogou spider",uaName:"Sogou develop spider/4.0",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},1471:{userAgent:"Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",metadata:{uaFamily:"sogou spider",uaName:"Sogou web spider/4.0",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},1472:{userAgent:"SpokeSpider/1.0 (http://support.spoke.com/webspider/) Mozilla/5.0 (not really)",metadata:{uaFamily:"SpokeSpider",uaName:"SpokeSpider/1.0",uaUrl:"http://support.spoke.com/webspider/",uaCompany:"Spoke Software ",uaCompanyUrl:"http://www.spoke.com/company/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SpokeSpider"}},1474:{userAgent:"Baiduspider+(+http://www.baidu.jp/spider/)",metadata:{uaFamily:"Baiduspider",uaName:"Baiduspider japan",uaUrl:"http://www.baidu.com/search/spider.htm",uaCompany:"Baidu",uaCompanyUrl:"http://www.baidu.com/",uaIcon:"bot_baiduspider.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Baiduspider"}},1475:{userAgent:"linkdexbot/Nutch-1.0-dev (http://www.linkdex.com/; crawl at linkdex dot com)",metadata:{uaFamily:"linkdexbot",uaName:"linkdexbot",uaUrl:"http://www.linkdex.com/about/bots/",uaCompany:"Linkdex Limited.",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=linkdexbot"}},1476:{userAgent:"Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/)",metadata:{uaFamily:"NaverBot",uaName:"Yeti/1.0",uaUrl:"http://help.naver.com/robots/",uaCompany:"NHN Corporation",uaCompanyUrl:"http://www.nhncorp.com/",uaIcon:"bot_NaverBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=NaverBot"}},1478:{userAgent:"mozilla/5.0 (compatible; webmastercoffee/0.7; +http://webmastercoffee.com/about)",metadata:{uaFamily:"webmastercoffee",uaName:"webmastercoffee/0.7",uaUrl:"http://webmastercoffee.com/about",uaCompany:"Martin Schwartz",uaCompanyUrl:"http://webmastercoffee.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=webmastercoffee"}},1479:{userAgent:"boitho.com-dc/0.82 ( http://www.boitho.com/dcbot.html )",metadata:{uaFamily:"boitho.com-dc",uaName:"boitho.com-dc/0.82",uaUrl:"http://www.boitho.com/dcbot.html",uaCompany:"Boitho",uaCompanyUrl:"http://www.boitho.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=boitho.com-dc"}},1480:{userAgent:"Busiversebot/v1.0 (http://www.busiverse.com/bot.php)",metadata:{uaFamily:"Sirketce/Busiverse",uaName:"Busiversebot/v1.0",uaUrl:"http://www.busiverse.com/bot.php",uaCompany:"BerilTech",uaCompanyUrl:"http://www.sirketce.com.tr/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Sirketce/Busiverse"}},1481:{userAgent:"CatchBot/1.0; +http://www.catchbot.com",metadata:{uaFamily:"CatchBot",uaName:"CatchBot/1.0",uaUrl:"http://www.catchbot.com/",uaCompany:"Reed Business Information Pty Limited",uaCompanyUrl:"http://www.reedbusiness.com/",uaIcon:"bot_CatchBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CatchBot"}},1482:{userAgent:"CazoodleBot/0.0.2 (http://www.cazoodle.com/contact.php; cbot@cazoodle.com)",metadata:{uaFamily:"CazoodleBot",uaName:"CazoodleBot/0.0.2",uaUrl:"http://www.cazoodle.com/cazoodlebot.php",uaCompany:"Cazoodle Inc.",uaCompanyUrl:"http://www.cazoodle.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CazoodleBot"}},1484:{userAgent:"kalooga/KaloogaBot (Kalooga; http://www.kalooga.com/info.html?page=crawler; crawler@kalooga.com)",metadata:{uaFamily:"Kalooga",uaName:"Kalooga",uaUrl:"http://www.kalooga.com/info.html?page=crawler",uaCompany:"Kalooga",uaCompanyUrl:"http://www.kalooga.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Kalooga"}},1490:{userAgent:"192.comAgent",metadata:{uaFamily:"192.comAgent",uaName:"192.comAgent",uaUrl:"http://www.192.com/help/tools-guides/webcrawler/",uaCompany:"i-CD Publishing (UK) Limited",uaCompanyUrl:"http://www.icdpublishing.co.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=192.comAgent"}},1494:{userAgent:"Mozilla/4.0 (compatible; NaverBot/1.0; htLine truncated
|
||||
uaCompany:"Yahoo! Inc",uaCompanyUrl:"http://www.yahoo.com/",uaIcon:"bot_yahoo!slurp.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Yahoo!"}},1798:{userAgent:"LinkAider (http://linkaider.com/crawler/)",metadata:{uaFamily:"LinkAider",uaName:"LinkAider",uaUrl:"http://linkaider.com/crawler/",uaCompany:"Ivinco",uaCompanyUrl:"http://linkaider.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LinkAider"}},1805:{userAgent:"WinWebBot/1.0; (Balaena Ltd, UK); http://www.balaena.com/winwebbot.html; winwebbot@balaena.com;)",metadata:{uaFamily:"WinWebBot",uaName:"WinWebBot/1.0",uaUrl:"http://www.balaena.com/winwebbot.html",uaCompany:"Balaena Ltd",uaCompanyUrl:"http://www.balaena.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=WinWebBot"}},1815:{userAgent:"R6_FeedFetcher(www.radian6.com/crawler)",metadata:{uaFamily:"R6 bot",uaName:"R6_FeedFetcher",uaUrl:"http://www.radian6.com/crawler/",uaCompany:"Radian6 Technologies Inc",uaCompanyUrl:"http://www.radian6.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=R6 bot"}},1816:{userAgent:"http://domino.research.ibm.com/comm/research_projects.nsf/pages/sai-crawler.callingcard.html",metadata:{uaFamily:"SAI Crawler",uaName:"SAI Crawler",uaUrl:"http://domino.research.ibm.com/comm/research_projects.nsf/pages/sai-crawler.callingcard.html",uaCompany:"IBM",uaCompanyUrl:"http://www.ibm.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SAI Crawler"}},1818:{userAgent:"Mozilla/5.0 (compatible;YodaoBot-Image/1.0;http://www.youdao.com/help/webmaster/spider/;)",metadata:{uaFamily:"YodaoBot",uaName:"YodaoBot-Image/1.0",uaUrl:"http://www.youdao.com/help/webmaster/spider/",uaCompany:"youdao",uaCompanyUrl:"http://www.youdao.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=YodaoBot"}},1838:{userAgent:"Mozilla/5.0 (compatible; Topicbot/12.0rc-2; +http://topicbot.awardspace.us/)",metadata:{uaFamily:"Topicbot",uaName:"Topicbot/12.0rc-2",uaUrl:"http://topicbot.awardspace.us/",uaCompany:"Research Group TopicBot",uaCompanyUrl:"http://topicbot.awardspace.us/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Topicbot"}},1849:{userAgent:"http://www.amagit.com/",metadata:{uaFamily:"Amagit.COM",uaName:"Amagit.COM",uaUrl:"",uaCompany:"Joshua Schwarz",uaCompanyUrl:"http://contacts.joshuaschwarz.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Amagit.COM"}},1853:{userAgent:"Sosospider+(+http://help.soso.com/webspider.htm)",metadata:{uaFamily:"Sosospider",uaName:"Sosospider",uaUrl:"http://help.soso.com/webspider.htm",uaCompany:"Tencent, Inc.",uaCompanyUrl:"http://www.tencent.com/",uaIcon:"bot_soso.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Sosospider"}},1856:{userAgent:"findlinks/1.1.5-beta7 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.4-beta7",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},1859:{userAgent:"Mozilla/5.0 (compatible; JadynAveBot; +http://www.jadynave.com/robot)",metadata:{uaFamily:"JadynAveBot",uaName:"JadynAveBot",uaUrl:"http://www.jadynave.com/robot",uaCompany:"Yesup Ecommerce Solutions Inc.",uaCompanyUrl:"http://www.yesup.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=JadynAveBot"}},1866:{userAgent:"smart.apnoti.com Robot/v1.34 (http://smart.apnoti.com/en/aboutApnotiWebCrawler.html)",metadata:{uaFamily:"smart.apnoti.com Robot",uaName:"smart.apnoti.com Robot/v1.34",uaUrl:"http://smart.apnoti.com/en/aboutApnotiWebCrawler.html",uaCompany:"apnoti.com GmbH",uaCompanyUrl:"http://www.apnoti.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=smart.apnoti.com Robot"}},1867:{userAgent:"MnoGoSearch/3.3.9",metadata:{uaFamily:"MnoGoSearch",uaName:"MnoGoSearch/3.3.9",uaUrl:"http://www.mnogosearch.org/products.html",uaCompany:"Lavtech.Com",uaCompanyUrl:"http://www.lavtech.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MnoGoSearch"}},1869:{userAgent:"Yandex/1.01.001 (compatible; Win16; H)",metadata:{uaFamily:"YandexBot",uaName:"Yandex/1.01.001",uaUrl:"http://yandex.com/bots",uaCompany:"Yandex LLC",uaCompanyUrl:"http://company.yandex.com/",uaIcon:"bot_Yandex.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=YandexBot"}},1870:{userAgent:"FollowSite Bot ( http://www.followsite.com/bot.html )",metadata:{uaFamily:"FollowSite Bot",uaName:"FollowSite Bot",uaUrl:"http://www.followsite.com/bot.html",uaCompany:"ASX Networks ApS",uaCompanyUrl:"http://asxnetworks.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FollowSite Bot"}},1871:{userAgent:"Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/spider.html;) Gecko/2008032620",metadata:{uaFamily:"80legs",uaName:"80legs/0.83",uaUrl:"http://www.80legs.com/webcrawler.html",uaCompany:"Computational Crawling, LP",uaCompanyUrl:"http://compucrawl.com/",uaIcon:"bot_80legs.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=80legs"}},1872:{userAgent:"Mozilla/5Line truncated
|
||||
uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},3132:{userAgent:"SeznamBot/2.0-Test (+http://fulltext.sblog.cz/robot/)",metadata:{uaFamily:"SeznamBot",uaName:"SeznamBot/2.0-test",uaUrl:"http://napoveda.seznam.cz/en/indexing-the-web.html",uaCompany:"Seznam.cz, a.s.",uaCompanyUrl:"http://www.seznam.cz/",uaIcon:"seznam.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SeznamBot"}},3142:{userAgent:"SEOENGBot/1.2 (+http://learn.seoeng.com/seoengbot.htm)",metadata:{uaFamily:"SEOENGBot",uaName:"SEOENGBot/1.2 old",uaUrl:"http://www.seoengine.com/seoengbot.htm",uaCompany:"SEO Engine",uaCompanyUrl:"http://www.seoengine.com/",uaIcon:"bot_SEOENGBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SEOENGBot"}},3203:{userAgent:"Mozilla/5.0 (compatible; ScoutJet; http://www.scoutjet.com/)",metadata:{uaFamily:"ScoutJet",uaName:"ScoutJet",uaUrl:"http://www.scoutjet.com/",uaCompany:"blekko, inc.",uaCompanyUrl:"http://blekko.com/",uaIcon:"bot_ScoutJet.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ScoutJet"}},3221:{userAgent:"yacybot (i386 Linux 2.6.31-18-generic; java 1.6.0_0; Europe/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},3235:{userAgent:"Mozilla/4.0 (compatible; HostTracker.com/1.0;+http://host-tracker.com/)",metadata:{uaFamily:"HostTracker.com",uaName:"HostTracker.com/1.0",uaUrl:"http://host-tracker.com/",uaCompany:"host-tracker.com ",uaCompanyUrl:"",uaIcon:"bot_HostTracker.com.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HostTracker.com"}},3236:{userAgent:"Mozilla/5.0 (compatible; AportWorm/3.2; +http://www.aport.ru/help)",metadata:{uaFamily:"AportWorm",uaName:"AportWorm/3.2",uaUrl:"http://www.aport.ru/help/",uaCompany:"Golden Telecom",uaCompanyUrl:"http://goldentelecom.ru/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AportWorm"}},3238:{userAgent:"yacybot (i386 Linux 2.6.30-2-686; java 1.6.0_0; SystemV/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},3292:{userAgent:"Karneval-Bot (Version: 1.06, powered by www.karnevalsuchmaschine.de +http://www.karnevalsuchmaschine.de/bot.html)",metadata:{uaFamily:"Karneval-Bot",uaName:"Karneval-Bot/1.06",uaUrl:"http://www.karnevalsuchmaschine.de/zeige/bot.html",uaCompany:"F\xf6deration Europ\xe4ischer Narren",uaCompanyUrl:"http://www.fen-sued.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Karneval-Bot"}},3333:{userAgent:"Mozilla/5.0 (compatible; dotSemantic/1.0; +http://www.dotsemantic.org)",metadata:{uaFamily:"dotSemantic",uaName:"dotSemantic/1.0",uaUrl:"http://www.dotsemantic.org",uaCompany:"dotSemantic Projekt",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=dotSemantic"}},3379:{userAgent:"Mozilla/5.0 (compatible; spbot/1.0; +http://www.seoprofiler.com/bot/ )",metadata:{uaFamily:"spbot",uaName:"spbot/1.0",uaUrl:"http://www.seoprofiler.com/bot/",uaCompany:"Axandra GmbH",uaCompanyUrl:"http://www.axandra.com/",uaIcon:"bot_spbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=spbot"}},3398:{userAgent:"L.webis/0.44 (http://webalgo.iit.cnr.it/index.php?pg=lwebis)",metadata:{uaFamily:"L.webis",uaName:"L.webis/0.44",uaUrl:"http://webalgo.iit.cnr.it/index.php?pg=lwebis",uaCompany:"Institute of Informatics and Telematics (IIT)",uaCompanyUrl:"http://www.iit.cnr.it/",uaIcon:"bot_L.webis.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=L.webis"}},3409:{userAgent:"Cityreview Robot (+http://www.cityreview.org/crawler/)",metadata:{uaFamily:"cityreview",uaName:"cityreview",uaUrl:"http://www.cityreview.org/crawler/",uaCompany:"SISTRIX GmbH",uaCompanyUrl:"http://www.sistrix.com/",uaIcon:"bot_cityreview.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=cityreview"}},3415:{userAgent:"Ruky-Roboter (Version: 1.06, powered by www.ruky.de +http://www.ruky.de/bot.html)",metadata:{uaFamily:"Ruky-Roboter",uaName:"Ruky-Roboter/1.06",uaUrl:"http://www.ruky.de/zeige/bot.html",uaCompany:"ruky.de",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Ruky-Roboter"}},3422:{userAgent:"Mozilla/5.0 (compatible; abby/1.0; +http://www.ellerdale.com/crawler.html)",metadata:{uaFamily:"abby",uaName:"abby/1.0",uaUrl:"http://www.ellerdale.com/crawler.html",uaCompany:"Ellerdale Inc.",uaCompanyUrl:"http://www.ellerdale.com/",uaIcon:"bot_abby.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=abby"}},3441:{userAgent:"^Nail (http://CaretNail.com)",metadata:{uaFamily:"^Nail",uaName:"^Nail",uaUrl:"http://caret.us.com/caretnail/index.html",uaCompany:"HydraByte, Inc.",uaCompanyUrl:"http://www.hydrabyte.com/",uaIcon:"bot_Nail.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=^Nail"}},3445:{userAgent:"ichiro/4.0 (http://help.goo.ne.jp/door/crawler.html)",metadaLine truncated
|
||||
uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5278:{userAgent:"yacybot (amd64 Windows 7 6.1; java 1.6.0_18; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5280:{userAgent:"Mozilla/5.0 (compatible; MetamojiCrawler/1.0; +http://www.metamoji.com/jp/crawler.html",metadata:{uaFamily:"MetamojiCrawler",uaName:"MetamojiCrawler/1.0",uaUrl:"http://www.metamoji.com/jp/crawler.html",uaCompany:"MetaMoJi Corporation",uaCompanyUrl:"http://www.metamoji.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MetamojiCrawler"}},5281:{userAgent:"yacybot (amd64 Windows 7 6.1; java 1.6.0_21; Europe/fr) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5292:{userAgent:"findlinks/1.1.6-beta4 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.6-beta4",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5302:{userAgent:"HuaweiSymantecSpider/1.0+DSE-support@huaweisymantec.com+(compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR ; http://www.huaweisymantec.com/en/IRL/spider)",metadata:{uaFamily:"HuaweiSymantecSpider",uaName:"HuaweiSymantecSpider/1.0",uaUrl:"http://www.huaweisymantec.com/en/IRL/spider/",uaCompany:"Huawei Symantec Technologies Co.,Ltd.",uaCompanyUrl:"http://www.huaweisymantec.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HuaweiSymantecSpider"}},5311:{userAgent:"Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/webcrawler.html;) Gecko/2008032620",metadata:{uaFamily:"80legs",uaName:"80legs/0.83 b",uaUrl:"http://www.80legs.com/webcrawler.html",uaCompany:"Computational Crawling, LP",uaCompanyUrl:"http://compucrawl.com/",uaIcon:"bot_80legs.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=80legs"}},5322:{userAgent:"yacybot (amd64 Linux 2.6.31-22-server; java 1.6.0_18; Asia/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5352:{userAgent:"findlinks/1.1.6-beta5 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.6-beta5",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5357:{userAgent:"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)",metadata:{uaFamily:"bingbot",uaName:"bingbot/2.0",uaUrl:"http://www.bing.com/webmaster/help/which-crawlers-does-bing-use-8c184ec0",uaCompany:"Microsoft Corporation",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"bot_msnbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bingbot"}},5360:{userAgent:"PostPost/1.0 (+http://postpo.st/crawlers)",metadata:{uaFamily:"PostPost",uaName:"PostPost/1.0",uaUrl:"http://postpost.com/crawlers",uaCompany:"Boathouse group",uaCompanyUrl:"http://www.boathouseinc.com/",uaIcon:"bot_PostPost.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=PostPost"}},5361:{userAgent:"WebWatch/Robot_txtChecker",metadata:{uaFamily:"WebWatch/Robot_txtChecker",uaName:"WebWatch/Robot_txtChecker",uaUrl:"http://www.ukoln.ac.uk/web-focus/webwatch/services/robots-txt/",uaCompany:"UKOLN",uaCompanyUrl:"http://www.ukoln.ac.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=WebWatch/Robot_txtChecker"}},5362:{userAgent:"Robots_Tester_http_www.searchenginepromotionhelp.com",metadata:{uaFamily:"Robots_Tester",uaName:"Robots_Tester",uaUrl:"http://www.searchenginepromotionhelp.com/m/robots-text-tester/robots-checker.php",uaCompany:"Search Engine Promotion Help",uaCompanyUrl:"http://www.searchenginepromotionhelp.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Robots_Tester"}},5376:{userAgent:"Mozilla/5.0 (compatible; Peew/1.0; http://www.peew.de/crawler/)",metadata:{uaFamily:"Peew",uaName:"Peew/1.0",uaUrl:"http://www.peew.de/crawler/",uaCompany:"Marco Schmidt",uaCompanyUrl:"http://www.peew.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Peew"}},5380:{userAgent:"gonzo/1[P] (+http://www.suchen.de/faq.html)",metadata:{uaFamily:"gonzo",uaName:"gonzo/1",uaUrl:"http://www.suchen.de/faq.html",uaCompany:"SEARCHTEQ",uaCompanyUrl:"http://www.searchteq.de/",uaIcon:"bot_gonzo.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=gonzo"}},5386:{userAgent:"Mozilla/5.0 (compatible; spbot/2.1; +http://www.seoprofiler.com/bot )",metadata:{uaFamily:"spbot",uaName:"spbot/2.1Line truncated
|
||||
uaIcon:"bot_baiduspider.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Baiduspider"}},6404:{userAgent:"Mozilla/5.0 (compatible; AhrefsBot/1.0; +http://ahrefs.com/robot/)",metadata:{uaFamily:"AhrefsBot",uaName:"AhrefsBot/1.0",uaUrl:"http://ahrefs.com/robot/",uaCompany:"Ahrefs.com",uaCompanyUrl:"http://ahrefs.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AhrefsBot"}},6436:{userAgent:"Mozilla/5.0 (compatible; MojeekBot/0.2; http://www.mojeek.com/bot.html)",metadata:{uaFamily:"MojeekBot",uaName:"MojeekBot/0.2",uaUrl:"http://www.mojeek.com/bot.html",uaCompany:"Mojeek Ltd.",uaCompanyUrl:"http://www.mojeek.com/",uaIcon:"bot_MojeekBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MojeekBot"}},6506:{userAgent:"SEOENGWorldBot/1.0 (+http://www.seoengine.com/seoengbot.htm)",metadata:{uaFamily:"SEOENGBot",uaName:"SEOENGBot/1.0",uaUrl:"http://www.seoengine.com/seoengbot.htm",uaCompany:"SEO Engine",uaCompanyUrl:"http://www.seoengine.com/",uaIcon:"bot_SEOENGBot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SEOENGBot"}},6514:{userAgent:"Mozilla/5.0 (compatible; socketcrawler; http://nlp.fi.muni.cz/projects/biwec/)",metadata:{uaFamily:"biwec",uaName:"biwec",uaUrl:"http://nlp.fi.muni.cz/projects/biwec/",uaCompany:"Centre for Natural Language Processing",uaCompanyUrl:"http://muni.cz/fi/335300?lang=en",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=biwec"}},6515:{userAgent:"Wotbox/2.0 (bot@wotbox.com; http://www.wotbox.com)",metadata:{uaFamily:"Wotbox",uaName:"Wotbox/2.0",uaUrl:"http://www.wotbox.com/bot/",uaCompany:"Wotbox Team",uaCompanyUrl:"http://www.wotbox.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Wotbox"}},6578:{userAgent:"Mozilla/5.0 (compatible; Thumbshots.ru; +http://thumbshots.ru/bot) Firefox/3",metadata:{uaFamily:"Thumbshots.ru",uaName:"Thumbshots.ru",uaUrl:"http://thumbshots.ru/bot",uaCompany:"Sonorth Technologies",uaCompanyUrl:"http://www.sonorth.com/tech/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Thumbshots.ru"}},6583:{userAgent:"JikeSpider Mozilla/5.0 (compatible; JikeSpider; +http://shoulu.jike.com/spider.html)",metadata:{uaFamily:"JikeSpider",uaName:"JikeSpider",uaUrl:"http://shoulu.jike.com/spider.html",uaCompany:"jike.com",uaCompanyUrl:"http://www.jike.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=JikeSpider"}},6592:{userAgent:"Aboundex/0.2 (http://www.aboundex.com/crawler/)",metadata:{uaFamily:"Aboundexbot",uaName:"Aboundexbot/0.2",uaUrl:"http://www.aboundex.com/crawler/",uaCompany:"Aboundex.com",uaCompanyUrl:"http://www.aboundex.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Aboundexbot"}},6598:{userAgent:"Mozilla/5.0 (compatible; SEOkicks-Robot +http://www.seokicks.de/robot.html)",metadata:{uaFamily:"SEOkicks-Robot",uaName:"SEOkicks-Robot",uaUrl:"http://www.seokicks.de/robot.html",uaCompany:"Torsten R\xfcckert Internetdienstleistungen",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SEOkicks-Robot"}},6603:{userAgent:"Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)",metadata:{uaFamily:"Yahoo! JAPAN",uaName:"Y!J-BRW/1.0",uaUrl:"http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html",uaCompany:"Yahoo! Inc",uaCompanyUrl:"http://www.yahoo.com/",uaIcon:"bot_yahoo!slurp.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Yahoo! JAPAN"}},6612:{userAgent:"The Lemur Web Crawler/Nutch-1.3 (Lemur Web Crawler; http://boston.lti.cs.cmu.edu/crawler_12/; admin@lemurproject.org)",metadata:{uaFamily:"LemurWebCrawler",uaName:"LemurWebCrawler",uaUrl:"http://boston.lti.cs.cmu.edu/crawler_12/",uaCompany:"Language Technologies Institute",uaCompanyUrl:"http://www.lti.cs.cmu.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LemurWebCrawler"}},6625:{userAgent:"LapozzBot/1.5 (+http://robot.lapozz.hu) ",metadata:{uaFamily:"LapozzBot",uaName:"LapozzBot/1.5",uaUrl:"http://robot.lapozz.hu/",uaCompany:"lapozz.hu",uaCompanyUrl:"http://www.lapozz.hu/",uaIcon:"bot_lapozzbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LapozzBot"}},6630:{userAgent:"CovarioIDS/1.1 (http://www.covario.com/ids; support at covario dot com)",metadata:{uaFamily:"Covario-IDS",uaName:"CovarioIDS/1.1",uaUrl:"http://www.covario.com/ids",uaCompany:"Covario, Inc.",uaCompanyUrl:"http://www.covario.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Covario-IDS"}},6647:{userAgent:"Mozilla/5.0 (compatible; heritrix/3.1.0-RC1 +http://boston.lti.cs.cmu.edu/crawler_12/)",metadata:{uaFamily:"LemurWebCrawler",uaName:"LemurWebCrawler",uaUrl:"http://boston.lti.cs.cmu.edu/crawler_12/",uaCompany:"Language Technologies Institute",uaCompanyUrl:"http://www.lti.cs.cmu.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LemurWebCrawler"}},6679:{userAgent:"yacybot (freeworld/global; amd64 Linux 2.6.32-34-server; java 1.6.0_26; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/lisLine truncated
|
||||
metadata:{uaFamily:"heritrix",uaName:"heritrix/3.1.1",uaUrl:"http://www.archive.org/details/archive.org_bot",uaCompany:"Internet Archive",uaCompanyUrl:"",uaIcon:"bot_heritrix.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=heritrix"}},7230:{userAgent:"AddThis.com robot tech.support@clearspring.com",metadata:{uaFamily:"AddThis.com",uaName:"AddThis.com robot",uaUrl:"",uaCompany:"Clearspring Technologies, Inc.",uaCompanyUrl:"http://www.clearspring.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AddThis.com"}},7238:{userAgent:"Mozilla/5.0 (compatible; Netseer crawler/2.0; +http://www.netseer.com/crawler.html; crawler@netseer.com)",metadata:{uaFamily:"Netseer",uaName:"Netseer crawler/2.0",uaUrl:"http://www.netseer.com/crawler.html",uaCompany:"NetSeer, Inc.",uaCompanyUrl:"http://www.netseer.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Netseer"}},7243:{userAgent:"Mozilla/5.0 (compatible; EventGuruBot/1.0; +http://www.eventguru.com/spider.html)",metadata:{uaFamily:"EventGuruBot",uaName:"EventGuruBot/1.0",uaUrl:"http://www.eventguru.com/spider.html",uaCompany:"Matt Wells",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=EventGuruBot"}},7252:{userAgent:"yacybot (freeworld/global; amd64 Linux 2.6.26-2-amd64; java 1.6.0_18; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7253:{userAgent:"yacybot (freeworld/global; amd64 Windows Server 2008 6.0; java 1.7.0_03; Europe/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7258:{userAgent:"SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7259:{userAgent:"DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7260:{userAgent:"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7263:{userAgent:"yacybot (freeworld/global; amd64 Windows 7 6.1; java 1.6.0_24; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7265:{userAgent:"Acoon v4.10.5 (www.acoon.de)",metadata:{uaFamily:"AcoonBot",uaName:"Acoon v4.10.5",uaUrl:"http://www.acoon.de/robot.asp",uaCompany:"Acoon GmbH",uaCompanyUrl:"http://www.acoon.de/",uaIcon:"bot_Acoon.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AcoonBot"}},7267:{userAgent:"SemrushBot/0.92",metadata:{uaFamily:"SemrushBot",uaName:"SemrushBot/0.92",uaUrl:"http://www.semrush.com/bot.html",uaCompany:"SEOQuake Team",uaCompanyUrl:"http://www.seoquaketeam.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SemrushBot"}},7278:{userAgent:"yacybot (freeworld/global; amd64 Linux 2.6.32-custom; java 1.6.0_26; Europe/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7285:{userAgent:"OpenAcoon v4.10.5 (www.openacoon.de)",metadata:{uaFamily:"AcoonBot",uaName:"OpenAcoon v4.10.5",uaUrl:"http://www.openacoon.de/",uaCompany:"Acoon GmbH",uaCompanyUrl:"http://www.acoon.de/",uaIcon:"bot_Acoon.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AcoonBot"}},7300:{userAgent:"Mozilla/5.0 (compatible; gofind; +http://govid.mobi/bot.php)",metadata:{uaFamily:"YioopBot",uaName:"gofind",uaUrl:"http://govid.mobi/bot.php",uaCompany:"Chris Pollett",uaCompanyUrl:"http://pollett.org/",uaIcon:"bot.png",uaInfoUrl:"/list-Line truncated
|
||||
}},7671:{userAgent:"Sogou Web Spider",metadata:{uaFamily:"sogou spider",uaName:"Sogou web spider",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},7675:{userAgent:"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.0; trendictionbot0.5.0; trendiction search; http://www.trendiction.de/bot; please let us know of any problems; web at trendiction.com) Gecko/20071127 Firefox/3.0.0.11",metadata:{uaFamily:"trendictionbot ",uaName:"trendictionbot0.5.0",uaUrl:"http://www.trendiction.de/bot",uaCompany:"Trendiction S.A.",uaCompanyUrl:"http://www.trendiction.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=trendictionbot "}},7676:{userAgent:"ichiro/3.0 (http://search.goo.ne.jp/option/use/sub4/sub4-1/)",metadata:{uaFamily:"ichiro",uaName:"ichiro/3.0",uaUrl:"http://search.goo.ne.jp/option/use/sub4/sub4-1/",uaCompany:"NTT-Resonant Inc.",uaCompanyUrl:"http://www.nttr.co.jp/",uaIcon:"bot_ichiro.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ichiro"}},7696:{userAgent:"bot-pge.chlooe.com/1.0.0 (+http://www.chlooe.com/)",metadata:{uaFamily:"bot-pge.chlooe.com",uaName:"bot-pge.chlooe.com/1.0.0",uaUrl:"http://bot-pge.chlooe.com/",uaCompany:"Chlooe.com",uaCompanyUrl:"http://www.chlooe.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bot-pge.chlooe.com"}},7697:{userAgent:"Mozilla/5.0(compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)",metadata:{uaFamily:"Sosospider",uaName:"Sosospider/2.0",uaUrl:"http://help.soso.com/webspider.htm",uaCompany:"Tencent, Inc.",uaCompanyUrl:"http://www.tencent.com/",uaIcon:"bot_soso.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Sosospider"}},7717:{userAgent:"Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)",metadata:{uaFamily:"GrapeshotCrawler",uaName:"GrapeshotCrawler/2.0",uaUrl:"http://www.grapeshot.co.uk/crawler.php",uaCompany:"Grapeshot Limited",uaCompanyUrl:"http://www.grapeshot.co.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=GrapeshotCrawler"}},7718:{userAgent:"Mozilla/5.0 (compatible; grapeFX/0.9; crawler@grapeshot.co.uk",metadata:{uaFamily:"GrapeshotCrawler",uaName:"grapeFX/0.9",uaUrl:"http://www.grapeshot.co.uk/crawler.php",uaCompany:"Grapeshot Limited",uaCompanyUrl:"http://www.grapeshot.co.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=GrapeshotCrawler"}},7726:{userAgent:"Mozilla/5.0 (compatible; Infohelfer/1.3.0; +http://www.infohelfer.de/crawler.php)",metadata:{uaFamily:"Infohelfer",uaName:"Infohelfer/1.3.0",uaUrl:"http://www.infohelfer.de/crawler.php",uaCompany:"ITam GmbH",uaCompanyUrl:"http://www.itam-gmbh.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Infohelfer"}},7727:{userAgent:"coccoc/1.0 (http://help.coccoc.vn/)",metadata:{uaFamily:"coccoc",uaName:"coccoc/1.0",uaUrl:"http://help.coccoc.com/",uaCompany:"Coc Coc",uaCompanyUrl:"http://coccoc.vn/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=coccoc"}},7729:{userAgent:"yacybot (freeworld/global; amd64 Windows 7 6.1; java 1.6.0_25; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7732:{userAgent:"Bad-Neighborhood Link Analyzer (http://www.bad-neighborhood.com/)",metadata:{uaFamily:"Bad-Neighborhood",uaName:"Bad-Neighborhood Link Analyzer",uaUrl:"http://www.bad-neighborhood.com/text-link-tool.htm",uaCompany:"Michael VanDeMar",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Bad-Neighborhood"}},7733:{userAgent:"Bad Neighborhood Header Detector (http://www.bad-neighborhood.com/header_detector.php)",metadata:{uaFamily:"Bad-Neighborhood",uaName:"Bad Neighborhood Header Detector",uaUrl:"http://www.bad-neighborhood.com/header_detector.php",uaCompany:"Michael VanDeMar",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Bad-Neighborhood"}},7747:{userAgent:"Whoismindbot/1.0 (+http://www.whoismind.com/bot.html)",metadata:{uaFamily:"Whoismindbot",uaName:"Whoismindbot/1.0",uaUrl:"http://www.whoismind.com/bot.html",uaCompany:"WhoisMind",uaCompanyUrl:"http://www.whoismind.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Whoismindbot"}},7748:{userAgent:"webinatorbot 1.0; +http://www.webinator.de",metadata:{uaFamily:"webinatorbot",uaName:"webinatorbot 1.0",uaUrl:"",uaCompany:"HighSignal UG",uaCompanyUrl:"http://www.highsignal.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=webinatorbot"}},7754:{userAgent:"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm",metadata:{uaFamily:"bingbot",uaName:"bingbot/2.0",uaUrl:"http://www.bing.com/webmaster/help/which-crawlers-does-bing-use-8c184ec0",uaCompany:"Microsoft Corporation",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"bot_msnbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bingbot"}}Line truncated
|
||||
uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},9717:{userAgent:"Sogou web spider/4.0l-2m!",metadata:{uaFamily:"sogou spider",uaName:"Sogou web spider/4.0l-2m!",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},9737:{userAgent:"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko; Google Web Preview) Chrome/22.0.1229 Safari/537.4",metadata:{uaFamily:"Googlebot",uaName:"Google Web Preview",uaUrl:"http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1062498",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},9781:{userAgent:"Mozilla/5.0 (compatible; uMBot-FC/1.0; mailto: crawling@ubermetrics-technologies.com)",metadata:{uaFamily:"uMBot",uaName:"uMBot-FC/1.0",uaUrl:"",uaCompany:"uberMetrics Technologies GmbH",uaCompanyUrl:"http://www.ubermetrics-technologies.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=uMBot"}},9784:{userAgent:"Mozilla/5.0 (compatible; coccoc/1.0; +http://help.coccoc.com/)",metadata:{uaFamily:"coccoc",uaName:"coccoc/1.0",uaUrl:"http://help.coccoc.com/",uaCompany:"Coc Coc",uaCompanyUrl:"http://coccoc.vn/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=coccoc"}},9832:{userAgent:"Mozilla/5.0 (compatible; Mozilla; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)",metadata:{uaFamily:"bixocrawler",uaName:"bixocrawler",uaUrl:"http://wiki.github.com/bixo/bixo/bixocrawler",uaCompany:"Bixo Labs",uaCompanyUrl:"http://openbixo.org/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bixocrawler"}},9839:{userAgent:"Mozilla/5.0 (compatible; aiHitBot/2.7; +http://www.aihit.com/)",metadata:{uaFamily:"aiHitBot",uaName:"aiHitBot/2.7",uaUrl:"",uaCompany:"aiHit Ltd",uaCompanyUrl:"http://aihit.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=aiHitBot"}},9852:{userAgent:"Mozilla/5.0 (compatible; GigaBot/1.0; +http://www.gigablast.com/ )",metadata:{uaFamily:"Gigabot",uaName:"Gigabot/1.0",uaUrl:"http://www.gigablast.com/spider.html",uaCompany:"Gigablast Inc",uaCompanyUrl:"http://www.gigablast.com/",uaIcon:"bot_gigabot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Gigabot"}},9868:{userAgent:"CirrusExplorer/1.1 (http://www.cireu.com/explorer.php)",metadata:{uaFamily:"CirrusExplorer",uaName:"CirrusExplorer/1.1",uaUrl:"http://www.cireu.com/explorer.php",uaCompany:"cireu.com",uaCompanyUrl:"http://www.cireu.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CirrusExplorer"}},9874:{userAgent:"Mozilla/5.0 (compatible; uMBot-LN/1.0; mailto: crawling@ubermetrics-technologies.com)",metadata:{uaFamily:"uMBot",uaName:"uMBot-LN/1.0",uaUrl:"",uaCompany:"uberMetrics Technologies GmbH",uaCompanyUrl:"http://www.ubermetrics-technologies.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=uMBot"}},9875:{userAgent:"Crowsnest/0.5 (+http://www.crowsnest.tv/)",metadata:{uaFamily:"Crowsnest",uaName:"Crowsnest/0.5",uaUrl:"",uaCompany:"Gocro, Inc.",uaCompanyUrl:"http://www.gocro.jp/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Crowsnest"}},9877:{userAgent:"QuerySeekerSpider ( http://queryseeker.com/bot.html )",metadata:{uaFamily:"QuerySeekerSpider",uaName:"QuerySeekerSpider",uaUrl:"http://queryseeker.com/bot.html",uaCompany:"QueryEye Inc.",uaCompanyUrl:"http://queryeye.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=QuerySeekerSpider"}},9905:{userAgent:"ownCloud Server Crawler",metadata:{uaFamily:"ownCloud Server Crawler",uaName:"ownCloud Server Crawler",uaUrl:"",uaCompany:"ownCloud comunity",uaCompanyUrl:"http://owncloud.org/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ownCloud Server Crawler"}},9918:{userAgent:"Mozilla/5.0 (compatible; rogerBot/1.0; UrlCrawler; http://www.seomoz.org/dp/rogerbot)",metadata:{uaFamily:"rogerbot",uaName:"rogerbot/1.0",uaUrl:"http://moz.com/help/pro/what-is-rogerbot-",uaCompany:"SEOmoz, Inc.",uaCompanyUrl:"http://moz.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=rogerbot"}},9925:{userAgent:"Mozilla/5.0 (compatible; SemrushBot/0.96.3; +http://www.semrush.com/bot.html)",metadata:{uaFamily:"SemrushBot",uaName:"SemrushBot/0.96.3",uaUrl:"http://www.semrush.com/bot.html",uaCompany:"SEOQuake Team",uaCompanyUrl:"http://www.seoquaketeam.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SemrushBot"}},9949:{userAgent:"yacybot (freeworld/global; amd64 Linux 3.8.0-23-generic; java 1.6.0_27; Pacific/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},10008:{userAgent:"BLEXBot",metadata:{uaFamily:"BLEXBot",uaName:"BLEXBot",uaUrl:"http://webmeup-crawler.com/",uaCompLine truncated
|
||||
},os:{1:{osFamily:"Windows",osName:"Windows XP",osUrl:"http://en.wikipedia.org/wiki/Windows_XP",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windowsxp.png"},2:{osFamily:"Windows",osName:"Windows 2000",osUrl:"http://en.wikipedia.org/wiki/Windows_2000",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},3:{osFamily:"Windows",osName:"Windows 2003 Server",osUrl:"http://en.wikipedia.org/wiki/Windows_2003",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windowsxp.png"},4:{osFamily:"Windows",osName:"Windows 95",osUrl:"http://en.wikipedia.org/wiki/Windows_95",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},5:{osFamily:"Windows",osName:"Windows 98",osUrl:"http://en.wikipedia.org/wiki/Windows_98",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},6:{osFamily:"Windows",osName:"Windows 3.x",osUrl:"http://en.wikipedia.org/wiki/Windows_3.x",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},7:{osFamily:"Windows",osName:"Windows CE",osUrl:"http://en.wikipedia.org/wiki/Windows_CE",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windowsce.png"},8:{osFamily:"Windows",osName:"Windows ME",osUrl:"http://en.wikipedia.org/wiki/Windows_me",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windows.png"},9:{osFamily:"Windows",osName:"Windows Vista",osUrl:"http://en.wikipedia.org/wiki/Windows_Vista",osCompany:"Microsoft Corporation.",osCompanyUrl:"http://www.microsoft.com/",osIcon:"windowsvista.png"},10:{osFamily:"JVM",osName:"JVM (Platform Micro Edition)",osUrl:"http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition",osCompany:"Sun Microsystems, Inc.",osCompanyUrl:"http://en.wikipedia.org/wiki/Sun_Microsystems",osIcon:"java.png"},11:{osFamily:"Linux",osName:"Linux (CentOS)",osUrl:"http://www.centos.org/",osCompany:"CentOS Project",osCompanyUrl:"http://www.centos.org/",osIcon:"linux_centos.png"},12:{osFamily:"Linux",osName:"Linux (Ubuntu)",osUrl:"http://www.ubuntu.com/",osCompany:"Canonical Ltd.",osCompanyUrl:"http://www.canonical.com/",osIcon:"linux_ubuntu.png"},13:{osFamily:"Linux",osName:"Linux (Debian)",osUrl:"http://www.debian.org/",osCompany:"Software in the Public Interest, Inc.",osCompanyUrl:"http://www.spi-inc.org/",osIcon:"linux_debian.png"},14:{osFamily:"Linux",osName:"Linux (Fedora)",osUrl:"http://fedoraproject.org/",osCompany:"Red Hat, Inc.",osCompanyUrl:"http://www.redhat.com/",osIcon:"linux_fedora.png"},15:{osFamily:"Linux",osName:"Linux (Gentoo)",osUrl:"http://www.gentoo.org/",osCompany:"Gentoo Foundation, Inc.",osCompanyUrl:"http://www.gentoo.org/foundation/en/",osIcon:"linux_gentoo.png"},16:{osFamily:"Linux",osName:"Linux (Linspire)",osUrl:"http://en.wikipedia.org/wiki/Linspire",osCompany:"Linspire, Inc.",osCompanyUrl:"http://www.linspire.com/",osIcon:"linux_linspire.png"},17:{osFamily:"Linux",osName:"Linux (Mandriva)",osUrl:"http://www.mandriva.com/",osCompany:"",osCompanyUrl:"",osIcon:"linux_mandriva.png"},18:{osFamily:"Linux",osName:"Linux (RedHat)",osUrl:"http://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux",osCompany:"Red Hat, Inc.",osCompanyUrl:"http://www.redhat.com/",osIcon:"linux_redhat.png"},19:{osFamily:"Linux",osName:"Linux",osUrl:"http://en.wikipedia.org/wiki/Linux",osCompany:"",osCompanyUrl:"",osIcon:"linux.png"},20:{osFamily:"Linux",osName:"Linux (Slackware)",osUrl:"http://www.slackware.com/",osCompany:"Slackware Linux, Inc.",osCompanyUrl:"",osIcon:"linux_slackware.png"},21:{osFamily:"Linux",osName:"Linux (Kanotix)",osUrl:"http://kanotix.com/",osCompany:"",osCompanyUrl:"",osIcon:"linux_kanotix.png"},22:{osFamily:"Linux",osName:"Linux (SUSE)",osUrl:"http://www.suse.com/",osCompany:"Novell, Inc.",osCompanyUrl:"http://www.novell.com/home/",osIcon:"linux_suse.png"},23:{osFamily:"Linux",osName:"Linux (Knoppix)",osUrl:"http://knoppix.net/",osCompany:"Klaus Knopper",osCompanyUrl:"http://www.knopper.net/knopper/",osIcon:"linux_knoppix.png"},24:{osFamily:"BSD",osName:"NetBSD",osUrl:"http://www.netbsd.org/",osCompany:"NetBSD Foundation, Inc.",osCompanyUrl:"",osIcon:"netbsd.png"},25:{osFamily:"BSD",osName:"FreeBSD",osUrl:"http://www.freebsd.org/",osCompany:"FreeBSD Foundation",osCompanyUrl:"http://www.freebsdfoundation.org/",osIcon:"freebsd.png"},26:{osFamily:"BSD",osName:"OpenBSD",osUrl:"http://www.openbsd.org/",osCompany:"",osCompanyUrl:"",osIcon:"openbsd.png"},29:{osFamily:"Solaris",osName:"Solaris",osUrl:"http://en.wikipedia.org/wiki/Solaris_%28operating_system%29",osCompany:"Sun Microsystems, Inc.",osCompanyUrl:"http://en.wikipedia.org/wiki/Sun_Microsystems",osIcon:"solaris.png"},30:{osFamily:"Amiga OS",osName:"Amiga OS",osUrl:"http://www.amigaos.net/",osCompany:"Commodore International Limited",osCompanyUrl:"http://en.wikipedia.org/wiki/Commodore_International",osIcon:"amiLine truncated
|
||||
uaCompany:"Fenrir Inc.",uaCompanyUrl:"http://www.fenrir-inc.com/",uaIcon:"sleipnir.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Sleipnir"}},61:{typeId:"0",metadata:{uaFamily:"Swiftfox",uaUrl:"http://www.getswiftfox.com/",uaCompany:"Jason Halme",uaCompanyUrl:"",uaIcon:"swiftfox.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Swiftfox"}},62:{typeId:"1",metadata:{uaFamily:"Teleport Pro",uaUrl:"http://www.tenmax.com/teleport/pro/home.htm",uaCompany:"Tennyson Maxwell Information Systems, Inc.",uaCompanyUrl:"http://www.tenmax.com/",uaIcon:"teleportpro.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Teleport Pro"}},71:{typeId:"1",metadata:{uaFamily:"WebCopier",uaUrl:"http://www.maximumsoft.com/products/wc_index.html",uaCompany:"MaximumSoft Corp.",uaCompanyUrl:"http://www.maximumsoft.com/",uaIcon:"webcopier.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=WebCopier"}},74:{typeId:"0",metadata:{uaFamily:"Phaseout",uaUrl:"http://www.phaseout.net/",uaCompany:"PhaseOut.net",uaCompanyUrl:"http://www.phaseout.net/",uaIcon:"phaseout.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Phaseout"}},79:{typeId:"4",metadata:{uaFamily:"Thunderbird",uaUrl:"http://www.mozilla.com/en-US/thunderbird/",uaCompany:"Mozilla Foundation",uaCompanyUrl:"http://www.mozilla.org/",uaIcon:"thunderbird.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Thunderbird"}},81:{typeId:"3",metadata:{uaFamily:"Doris",uaUrl:"http://www.anygraaf.fi/browser/indexe.htm",uaCompany:"Anygraaf",uaCompanyUrl:"http://www.anygraaf.fi/",uaIcon:"doris.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Doris"}},82:{typeId:"0",metadata:{uaFamily:"Enigma browser",uaUrl:"http://www.suttondesigns.com/",uaCompany:"Advanced Search Technologies, Inc.",uaCompanyUrl:"http://www.advancedsearchcorp.com/",uaIcon:"enigmabrowser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Enigma browser"}},85:{typeId:"5",metadata:{uaFamily:"Jakarta Commons-HttpClient",uaUrl:"http://jakarta.apache.org/commons/httpclient/",uaCompany:"Apache Software Foundation",uaCompanyUrl:"http://www.apache.org/",uaIcon:"jakarta.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Jakarta Commons-HttpClient"}},86:{typeId:"5",metadata:{uaFamily:"cURL",uaUrl:"http://curl.haxx.se/",uaCompany:"team Haxx",uaCompanyUrl:"http://www.haxx.se/",uaIcon:"curl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=cURL"}},87:{typeId:"0",metadata:{uaFamily:"Amaya",uaUrl:"http://www.w3.org/Amaya/",uaCompany:"World Wide Web Consortium",uaCompanyUrl:"http://www.w3.org/",uaIcon:"amaya.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Amaya"}},88:{typeId:"1",metadata:{uaFamily:"GetRight",uaUrl:"http://www.getright.com/",uaCompany:"Headlight Software, Inc.",uaCompanyUrl:"http://www.headlightinc.com/",uaIcon:"getright.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GetRight"}},89:{typeId:"0",metadata:{uaFamily:"Off By One",uaUrl:"http://offbyone.com/",uaCompany:"Home Page Software Inc.",uaCompanyUrl:"http://homepagesw.com/",uaIcon:"offbyone.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Off By One"}},90:{typeId:"5",metadata:{uaFamily:"Python-urllib",uaUrl:"http://www.python.org/doc/current/lib/module-urllib.html",uaCompany:"Python Software Foundation",uaCompanyUrl:"http://www.python.org/psf/",uaIcon:"pythonurllib.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Python-urllib"}},91:{typeId:"0",metadata:{uaFamily:"w3m",uaUrl:"http://w3m.sourceforge.net/",uaCompany:"Sakamoto Hironori",uaCompanyUrl:"http://www2u.biglobe.ne.jp/%7Ehsaka/",uaIcon:"w3m.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=w3m"}},93:{typeId:"1",metadata:{uaFamily:"WebZIP",uaUrl:"http://www.spidersoft.com/webzip/",uaCompany:"Spidersoft",uaCompanyUrl:"http://www.spidersoft.com/",uaIcon:"webzip.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=WebZIP"}},94:{typeId:"0",metadata:{uaFamily:"ICE browser",uaUrl:"http://www.icesoft.com/products/icebrowser.html",uaCompany:"ICEsoft Technologies Inc.",uaCompanyUrl:"http://www.icesoft.com/",uaIcon:"icebrowser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=ICE browser"}},96:{typeId:"0",metadata:{uaFamily:"IceApe",uaUrl:"http://www.debian.org/",uaCompany:"Software in the Public Interest, Inc.",uaCompanyUrl:"http://www.spi-inc.org/",uaIcon:"seamonkey.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=IceApe"}},99:{typeId:"0",metadata:{uaFamily:"HotJava",uaUrl:"http://java.sun.com/products/archive/hotjava/index.html",uaCompany:"Sun Microsystems, Inc.",uaCompanyUrl:"http://www.sun.com/",uaIcon:"hotjava.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=HotJava"}},100:{typeId:"1",metadata:{uaFamily:"JoBo",uaUrl:"http://www.matuschek.net/jobo/",uaCompany:"Daniel Matuschek",uaCompanyUrl:"http://www.matuschek.net/",uaIcon:"jobo.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=JoBo"}},105:{typeId:"5",metadata:{uaFamily:"POE-Component-Client-HTTP",uaUrl:"http://search.cpan.org/dist/POE-Component-Client-HTTP/",uaCompany:"",uaCompanyUrl:"",uaIcon:"perl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=POE-CLine truncated
|
||||
uaIcon:"newsbreak.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=NewsBreak"}},238:{typeId:"20",metadata:{uaFamily:"LinkbackPlugin for Laconica",uaUrl:"http://laconi.ca/",uaCompany:"Laconica Developer Community",uaCompanyUrl:"http://laconi.ca/trac/wiki/DeveloperCommunity",uaIcon:"laconica.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=LinkbackPlugin for Laconica"}},239:{typeId:"20",metadata:{uaFamily:"Microsoft WebDAV client",uaUrl:"",uaCompany:"Microsoft Corporation.",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"webdav.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Microsoft WebDAV client"}},240:{typeId:"20",metadata:{uaFamily:"GnomeVFS",uaUrl:"http://developer.gnome.org/doc/API/2.0/gnome-vfs-2",uaCompany:"The GNOME Project",uaCompanyUrl:"http://www.gnome.org/",uaIcon:"webdav.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GnomeVFS"}},241:{typeId:"0",metadata:{uaFamily:"Uzbl",uaUrl:"http://www.uzbl.org/",uaCompany:"",uaCompanyUrl:"",uaIcon:"uzbl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Uzbl"}},242:{typeId:"10",metadata:{uaFamily:"Cynthia",uaUrl:"http://www.contentquality.com/",uaCompany:"HiSoftware Inc.",uaCompanyUrl:"http://www.hisoftware.com/",uaIcon:"cynthia.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Cynthia"}},243:{typeId:"15",metadata:{uaFamily:"Sage",uaUrl:"http://sage.mozdev.org",uaCompany:"Peter Andrews",uaCompanyUrl:"http://petea.org/",uaIcon:"sage.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Sage"}},244:{typeId:"18",metadata:{uaFamily:"Banshee",uaUrl:"http://banshee-project.org/",uaCompany:"Novell, Inc.",uaCompanyUrl:"http://www.novell.com/",uaIcon:"banshee.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Banshee"}},245:{typeId:"0",metadata:{uaFamily:"Wyzo",uaUrl:"http://www.wyzo.com/",uaCompany:"Radical Software Ltd.",uaCompanyUrl:"http://www.radicalsoft.com/",uaIcon:"wyzo.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Wyzo"}},246:{typeId:"15",metadata:{uaFamily:"RSSOwl",uaUrl:"http://www.rssowl.org/",uaCompany:"Benjamin Pasero",uaCompanyUrl:"",uaIcon:"rssowl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=RSSOwl"}},247:{typeId:"0",metadata:{uaFamily:"ABrowse",uaUrl:"http://en.wikipedia.org/wiki/ABrowse",uaCompany:"Kurt Skauen",uaCompanyUrl:"http://www.syllable.org/",uaIcon:"abrowse.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=ABrowse"}},248:{typeId:"20",metadata:{uaFamily:"Funambol Outlook Sync Client",uaUrl:"https://www.forge.funambol.org/download/",uaCompany:"Funambol, Inc.",uaCompanyUrl:"http://funambol.com/",uaIcon:"funambol-outlook.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Funambol Outlook Sync Client"}},249:{typeId:"20",metadata:{uaFamily:"Funambol Mozilla Sync Client",uaUrl:"https://mozilla-plugin.forge.funambol.org/ ",uaCompany:"Carlo Codega",uaCompanyUrl:"http://sazilla.blogspot.com",uaIcon:"funambol-mozilla.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Funambol Mozilla Sync Client"}},250:{typeId:"15",metadata:{uaFamily:"RSS Menu",uaUrl:"http://www.edot-studios.com/webgroups2/index.php?menu_item=212",uaCompany:"e dot studios",uaCompanyUrl:"http://www.edot-studios.com/",uaIcon:"rss_menu.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=RSS Menu"}},251:{typeId:"18",metadata:{uaFamily:"foobar2000",uaUrl:"http://www.foobar2000.org/",uaCompany:"Peter Pawlowski",uaCompanyUrl:"",uaIcon:"foobar2000.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=foobar2000"}},252:{typeId:"5",metadata:{uaFamily:"GStreamer",uaUrl:"http://gstreamer.freedesktop.org/",uaCompany:"GStreamer community",uaCompanyUrl:"http://gstreamer.freedesktop.org/",uaIcon:"GStreamer.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GStreamer"}},253:{typeId:"20",metadata:{uaFamily:"NetFront Mobile Content Viewer",uaUrl:"http://www.access-company.com/products/mobile_solutions/netfrontmobile/contentviewer/index.html",uaCompany:"ACCESS CO., LTD.",uaCompanyUrl:"http://www.access-company.com/",uaIcon:"netfront.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=NetFront Mobile Content Viewer"}},254:{typeId:"5",metadata:{uaFamily:"PHP OpenID library",uaUrl:"http://openidenabled.com/php-openid/",uaCompany:"JanRain, Inc.",uaCompanyUrl:"http://www.janrain.com/",uaIcon:"PHP_OpenID_lib.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=PHP OpenID library"}},255:{typeId:"0",metadata:{uaFamily:"Blackbird",uaUrl:"http://www.blackbirdbrowser.com/",uaCompany:"40A, Inc.",uaCompanyUrl:"",uaIcon:"blackbird.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Blackbird"}},256:{typeId:"15",metadata:{uaFamily:"GreatNews",uaUrl:"http://www.curiostudio.com/",uaCompany:"Curio Studio",uaCompanyUrl:"",uaIcon:"GreatNews.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GreatNews"}},257:{typeId:"0",metadata:{uaFamily:"DeskBrowse",uaUrl:"http://www.deskbrowse.org/",uaCompany:"Off Leash Developments, Inc",uaCompanyUrl:"http://offleashdevelopments.com/",uaIcon:"deskbrowse.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=DeskBrowse"}},258:{typeId:"20",metadata:{uaFamily:"Tulip Chain",uaUrl:Line truncated
|
||||
uaInfoUrl:"/list-of-ua/browser-detail?browser=Powermarks"}},374:{typeId:"15",metadata:{uaFamily:"Safari RSS reader",uaUrl:"http://www.apple.com/safari/",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Safari RSS reader"}},375:{typeId:"20",metadata:{uaFamily:"Google Friend Connect",uaUrl:"http://www.google.com/friendconnect/",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"google_friend_connect.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Google Friend Connect"}},376:{typeId:"15",metadata:{uaFamily:"Feed Viewer",uaUrl:"http://feedviewer.codeplex.com/",uaCompany:"vasek7",uaCompanyUrl:"http://www.codeplex.com/site/users/view/vasek7",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Feed Viewer"}},377:{typeId:"0",metadata:{uaFamily:"RockMelt",uaUrl:"http://www.rockmelt.com/",uaCompany:"Rockmelt, Inc.",uaCompanyUrl:"http://www.rockmelt.com/",uaIcon:"rockmelt.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=RockMelt"}},378:{typeId:"0",metadata:{uaFamily:"Epic",uaUrl:"http://www.epicbrowser.com/",uaCompany:"Hidden Reflex",uaCompanyUrl:"http://www.hiddenreflex.com/",uaIcon:"epic.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Epic"}},379:{typeId:"0",metadata:{uaFamily:"InternetSurfboard",uaUrl:"http://inetsurfboard.sourceforge.net/",uaCompany:"Philipp Ruppel",uaCompanyUrl:"",uaIcon:"internetSurfboard.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=InternetSurfboard"}},380:{typeId:"0",metadata:{uaFamily:"Vonkeror",uaUrl:"http://zzo38computer.cjb.net/vonkeror/",uaCompany:"zzo38",uaCompanyUrl:"http://zzo38computer.cjb.net/",uaIcon:"conkeror.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Vonkeror"}},381:{typeId:"15",metadata:{uaFamily:"IE RSS reader",uaUrl:"http://en.wikipedia.org/wiki/Windows_RSS_Platform",uaCompany:"Microsoft",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=IE RSS reader"}},382:{typeId:"15",metadata:{uaFamily:"Trileet NewsRoom",uaUrl:"http://feedmonger.blogspot.com/",uaCompany:"Trileet Inc.",uaCompanyUrl:"http://www.trileet.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Trileet NewsRoom"}},383:{typeId:"10",metadata:{uaFamily:"Validator.nu",uaUrl:"http://validator.nu/",uaCompany:"Henri Sivonen",uaCompanyUrl:"http://hsivonen.iki.fi/author/",uaIcon:"validator_nu.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Validator.nu"}},384:{typeId:"5",metadata:{uaFamily:"Zend_Http_Client",uaUrl:"http://framework.zend.com/manual/en/zend.http.html",uaCompany:"Zend Technologies Ltd.",uaCompanyUrl:"http://www.zend.com/",uaIcon:"zend_http_client.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Zend_Http_Client"}},385:{typeId:"3",metadata:{uaFamily:"Skyfire",uaUrl:"http://www.skyfire.com/",uaCompany:"Skyfire Labs, Inc.",uaCompanyUrl:"http://www.skyfire.com/about",uaIcon:"skyfire.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Skyfire"}},386:{typeId:"3",metadata:{uaFamily:"GO Browser",uaUrl:"http://www.gobrowser.cn/",uaCompany:"GO Dev Team",uaCompanyUrl:"",uaIcon:"go_browser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GO Browser"}},387:{typeId:"0",metadata:{uaFamily:"Surf",uaUrl:"http://surf.suckless.org/",uaCompany:"suckless.org",uaCompanyUrl:"http://suckless.org/",uaIcon:"surf.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Surf"}},388:{typeId:"20",metadata:{uaFamily:"iGooMap",uaUrl:"http://www.pointworks.de/software/igoomap/index.php",uaCompany:"PointWorks.de",uaCompanyUrl:"http://www.pointworks.de/",uaIcon:"igoomap.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=iGooMap"}},389:{typeId:"18",metadata:{uaFamily:"iTunes",uaUrl:"http://www.apple.com/itunes/",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"itunes.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=iTunes"}},390:{typeId:"0",metadata:{uaFamily:"BlackHawk",uaUrl:"http://www.netgate.sk/blackhawk/help/welcome-to-blackhawk-web-browser.html",uaCompany:"NETGATE Technologies s.r.o. ",uaCompanyUrl:"http://www.netgate.sk/",uaIcon:"blackhawk.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=BlackHawk"}},392:{typeId:"3",metadata:{uaFamily:"Kindle Browser",uaUrl:"http://en.wikipedia.org/wiki/Amazon_Kindle",uaCompany:"Amazon.com",uaCompanyUrl:"http://www.amazon.com/",uaIcon:"kindle.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Kindle Browser"}},393:{typeId:"20",metadata:{uaFamily:"Microsoft Office Existence Discovery",uaUrl:"http://blogs.msdn.com/b/vsofficedeveloper/archive/2008/03/11/office-existence-discovery-protocol.aspx",uaCompany:"Microsoft Corporation.",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"webdav.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Microsoft Office Existence Discovery"}},394:{typeId:"3",metadata:{uaFamily:"Mobile Safari",uaUrl:"http://en.wikipedia.org/wiki/Safari_%28web_browser%29",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"safari.png",uaInfoUrl:"/list-of-ua/browseLine truncated
|
||||
},58:{regexp:/libwww\-perl\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"51"},59:{regexp:/mozilla[\s\S]*Lunascape\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"52"},60:{regexp:/mozilla[\s\S]*Maxthon ([0-9a-z\+\-\.]+)/i,browserId:"53"},61:{regexp:/mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*MyIE2/i,browserId:"53"},62:{regexp:/mozilla[\s\S]*(rv:[0-9\.]+)[\s\S]*gecko\/[0-9]+[\s\S]*/i,browserId:"54"},63:{regexp:/mozilla[\s\S]*MultiZilla ([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"55"},64:{regexp:/mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*NetCaptor ([0-9a-z\+\-\.]+)/i,browserId:"56"},65:{regexp:/Netgem\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"57"},66:{regexp:/netsurf\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"58"},67:{regexp:/mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*Sleipnir\/([0-9a-z\+\-\.]+)/i,browserId:"59"},69:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*firefox\/([0-9a-z\+\-\.]+)[\s\S]*swiftfox/i,browserId:"61"},70:{regexp:/Teleport Pro\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"62"},77:{regexp:/sunrise[ \/]([0-9a-z\+\-\.\/]+)/i,browserId:"19"},78:{regexp:/mozilla[\s\S]*galeon\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"6"},79:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*\(KHTML, like Gecko\)$/i,browserId:"466"},80:{regexp:/Openwave/i,browserId:"32"},81:{regexp:/MSIE ([0-9a-z\+\-\.]+)[\s\S]*windows ce/i,browserId:"157"},82:{regexp:/mozilla[\s\S]*\/[0-9\.]+[\s\S]*gecko[\s\S]*firefox[\s\S]*/i,browserId:"3"},83:{regexp:/mozilla[\s\S]*(rv:[0-9\.]+)[\s\S]*/i,browserId:"54"},86:{regexp:/webcopier[\s\S]*v([0-9a-z\.]+)/i,browserId:"71"},89:{regexp:/MSIE[\s\S]*PhaseOut/i,browserId:"74"},94:{regexp:/^Mozilla[\s\S]*Thunderbird\/([0-9a-zA-Z\.]+)/i,browserId:"79"},95:{regexp:/^DoCoMo\//i,browserId:"33"},97:{regexp:/doris\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"81"},98:{regexp:/^Enigma browser$/i,browserId:"82"},100:{regexp:/lwp\-request\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"51"},102:{regexp:/Jakarta Commons-HttpClient\/([0-9a-zA-Z\.\-]+)/i,browserId:"85"},103:{regexp:/IBrowse/i,browserId:"31"},104:{regexp:/^curl ([0-9a-zA-Z\.\-]+)/i,browserId:"86"},105:{regexp:/Aweb[\s\S]*Amiga/i,browserId:"29"},106:{regexp:/amaya\/([0-9a-zA-Z\.\-+]+)/i,browserId:"87"},107:{regexp:/GetRight\/([0-9a-zA-Z\.\-\+]+)/i,browserId:"88"},108:{regexp:/^Mozilla[\s\S]*OmniWeb\/([1-9a-zA-z\.\-]+)/i,browserId:"18"},109:{regexp:/Mozilla[\s\S]*OffByOne/i,browserId:"89"},110:{regexp:/Python\-urllib\/([0-9a-zA-Z\.\-]+)/i,browserId:"90"},111:{regexp:/w3m\/([0-9a-zA-z\-\+\.]+)/i,browserId:"91"},113:{regexp:/^WebZIP\/([0-9a-zA-Z\.\-]+)/i,browserId:"93"},114:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Shiira\/([0-9a-zA-z\.\-]+)/i,browserId:"21"},115:{regexp:/ICEbrowser\/([0-9a-z_\.\-]+)/i,browserId:"94"},117:{regexp:/Blazer ([0-9\.]+)/i,browserId:"43"},118:{regexp:/Iceape\/([0-9a-zA-z\.\-]+)/i,browserId:"96"},120:{regexp:/Jakarta Commons\-HttpClient/i,browserId:"85"},122:{regexp:/HotJava\/([0-9a-zA-Z\.\- ]+)/i,browserId:"99"},123:{regexp:/JoBo\/([0-9a-z\.\-]+)/i,browserId:"100"},126:{regexp:/Sleipnir Version ([0-9a-z\.]+)/i,browserId:"59"},130:{regexp:/poe-component-client-http\/([0-9a-z\.\-]+)/i,browserId:"105"},137:{regexp:/snoopy v([1-9\.]+)/i,browserId:"111"},138:{regexp:/Lynx/i,browserId:"25"},139:{regexp:/libwww\-perl/i,browserId:"51"},141:{regexp:/NetFront([0-9a-z\.]+)[\s\S]*/i,browserId:"33"},143:{regexp:/^opera ([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"17"},147:{regexp:/NCSA_Mosaic\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"117"},149:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko[\s\S]*kapiko\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"119"},150:{regexp:/mozilla[\s\S]*chrome\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"120"},151:{regexp:/mozilla[\s\S]*applewebkit[\s\S]*AdobeAIR\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"121"},152:{regexp:/^lwp-trivial\/([0-9.]+)$/i,browserId:"122"},153:{regexp:/^WWW-Mechanize\/([0-9a-z\+\-\.]+)/i,browserId:"123"},155:{regexp:/^Xenu Link Sleuth ([0-9a-z\+\-\.]+)$/i,browserId:"124"},156:{regexp:/^SiteSucker\/([0-9a-z\.]+)/i,browserId:"125"},157:{regexp:/mozilla[\s\S]*applewebkit[\s\S]*arora\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"126"},160:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*Shiretoko\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"128"},161:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*Minefield\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"129"},162:{regexp:/mozilla[\s\S]*applewebkit[\s\S]*iron\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"130"},163:{regexp:/mozilla[\s\S][\s\S]*lobo\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"131"},164:{regexp:/^links \(([0-9a-z\.]+)[\s\S]*/i,browserId:"132"},165:{regexp:/mozilla[\s\S]*PlayStation\ Portable[\s\S]*/i,browserId:"33"},166:{regexp:/mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*Maxthon/i,browserId:"53"},167:{regexp:/Netbox\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"57"},169:{regexp:/^Mozilla\/(3\.0)[\s\S]*Sun\)$/i,browserId:"99"},170:{regexp:/mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*fennec\/([0-9a-z\+\-\.]+)[\s\S]*/i,browserId:"133"},171:{regexp:/mozilla[\s\S]*Lotus-Notes\/([0-9a-z\+\-\.]+)[\s\S]*/i,browseLine truncated
|
||||
browserId:"433"},550:{regexp:/^python-requests\/([0-9\.]+)/i,browserId:"434"},551:{regexp:/^AtomicBrowser\/([0-9\.]+)[\s\S]*CFNetwork/i,browserId:"436"},552:{regexp:/^Reeder\/([0-9\.]+)[\s\S]*CFNetwork/i,browserId:"437"},553:{regexp:/^Mozilla[\s\S]*Mobile[\s\S]*rv[\s\S]*Gecko[\s\S]*Firefox\/([0-9\.]+)/i,browserId:"133"},554:{regexp:/Mozilla[\s\S]*Mac[\s\S]*rv[\s\S]*Gecko[\s\S]*Firefox\/([0-9a-b\.]+)[\s\S]*TenFourFox/i,browserId:"439"},555:{regexp:/^PEAR HTTP_Request class \( http:\/\/pear[\s\S]php[\s\S]net\/ \)/i,browserId:"440"},556:{regexp:/Mozilla[\s\S]*compatible[\s\S]*DPlus ([0-9\.]+)/i,browserId:"441"},557:{regexp:/^WordPress\/[0-9\.]+; http:\/\//i,browserId:"438"},558:{regexp:/Mozilla[\s\S]*Windows[\s\S]*Gecko[\s\S]*Firefox[\s\S]*AvantBrowser\/Tri-Core/i,browserId:"41"},559:{regexp:/Mozilla[\s\S]*AppleWebKit[\s\S]*zBrowser\/SpringSun-([0-9\.]+)/i,browserId:"442"},560:{regexp:/Mozilla[\s\S]*AppleWebKit[\s\S]*zBrowser\/NigtSky-([0-9\.]+)/i,browserId:"442"},561:{regexp:/Mozilla[\s\S]*AppleWebKit[\s\S]*KHTML[\s\S]*SlimBoat\/([0-9\.]+)/i,browserId:"443"},562:{regexp:/Opera[\s\S]*Opera Tablet[\s\S]*Presto[\s\S]*Version\/([0-9\.]+)/i,browserId:"321"},563:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome\/([0-9\.]+)[\s\S]*Mobile Safari/i,browserId:"423"},564:{regexp:/^Mozilla[\s\S]*iPhone[\s\S]*AppleWebKit[\s\S]*CriOS\/([0-9\.]+)[\s\S]*Mobile[\s\S]*Safari/i,browserId:"423"},565:{regexp:/^Mechanize\/([0-9\.]+)[\s\S]*Ruby[\s\S]*github[\s\S]com\/tenderlove\/mechanize/i,browserId:"445"},566:{regexp:/^htmlayout ([0-9\.]+)[\s\S]*Win[\s\S]*www\.terrainformatica\.com/i,browserId:"446"},567:{regexp:/^The Bat! Voyager ([0-9\.]+)$/i,browserId:"330"},568:{regexp:/^Mozilla[\s\S]*MSIE[\s\S]*Windows[\s\S]*SaaYaa/i,browserId:"447"},569:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Qt\/[0-9\.]+[\s\S]*Ryouko\/([0-9\.]+)[\s\S]*Safari/i,browserId:"448"},570:{regexp:/^Anemone\/([0-9\.]+)$/i,browserId:"449"},571:{regexp:/^Mozilla[\s\S]*OS X[\s\S]*AppleWebKit[\s\S]*KHTML[\s\S]*Sparrow\/([0-9\.]+)/i,browserId:"450"},572:{regexp:/^SubStream\/([0-9\.]+)[\s\S]* CFNetwork/i,browserId:"451"},573:{regexp:/^Mozilla[\s\S]*iPad[\s\S]*AppleWebKit[\s\S]*CriOS\/([0-9\.]+)[\s\S]*Mobile[\s\S]*Safari/i,browserId:"423"},574:{regexp:/^Barca\/([0-9\.]+)/i,browserId:"452"},575:{regexp:/^BarcaPro\/([0-9\.]+)/i,browserId:"452"},576:{regexp:/A1 Sitemap Generator\/([0-9\.]+)[\s\S]*microsystools[\s\S]com/i,browserId:"453"},577:{regexp:/^Mozilla[\s\S]*Playstation Vita[\s\S]*AppleWebKit[\s\S]*Silk\/([0-9\.]+)/i,browserId:"454"},578:{regexp:/^MQQBrowser\/([0-9\.]+)/i,browserId:"455"},579:{regexp:/^MQQBrowser\/(Mini[0-9\.]+)/i,browserId:"455"},580:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*Beamrise\/([0-9\.]+)/i,browserId:"456"},581:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Beamrise\/([0-9\.]+)[\s\S]*Chrome/i,browserId:"456"},582:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*YaBrowser\/([0-9\.]+)/i,browserId:"457"},583:{regexp:/^Mozilla[\s\S]*Silk\/([0-9\.\-]+)[\s\S]*safari/i,browserId:"458"},584:{regexp:/^Apache-HttpClient\/([0-9\.]+)/i,browserId:"459"},585:{regexp:/^Mozilla.*Nintendo WiiU.*AppleWebKit.*NX.*NintendoBrowser\/([0-9\.]+)/,browserId:"460"},586:{regexp:/^DellWebMonitor\/([0-9\.]+)/,browserId:"461"},587:{regexp:/^FeedDemon\/([0-9\.]+)[\s\S]*(www\.feeddemon\.com|www\.newsgator\.com)/i,browserId:"462"},588:{regexp:/^XMLRPC::Client \(Ruby ([0-9\.]+)\)$/i,browserId:"463"},589:{regexp:/^PocomailPE\/([0-9\.]+)/i,browserId:"356"},590:{regexp:/Pattern\/([0-9\.]+)[\s\S]*[\s\S]clips\.ua\.ac\.be\/pages\/pattern/i,browserId:"464"},592:{regexp:/^Eudora\/?([0-9a-z\.]+)*/i,browserId:"465"},593:{regexp:/^Mozilla[\s\S]*Windows[\s\S]*Gecko[\s\S]*Polarity\/([0-9\.]+)/i,browserId:"467"},594:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Superbird\/([0-9\.]+)/i,browserId:"468"},595:{regexp:/^Microsoft Office\/14[\s\S]*Microsoft Outlook 14/i,browserId:"326"},596:{regexp:/mozilla[\s\S]*AppleWebKit[\s\S]*NetFrontLifeBrowser\/([0-9\.]+)/i,browserId:"469"},597:{regexp:/mozilla[\s\S]*applewebkit[\s\S]*\/[0-9a-z\+\-\.]+[\s\S]*version\/([0-9a-z\+\-\.]+)[\s\S]*safari\/[0-9a-z\+\-\.]+[\s\S]*/i,browserId:"22"},598:{regexp:/^Mozilla[\s\S]*ASUS Transformer Pad[\s\S]*AppleWebKit[\s\S]*Chrome\/([0-9\.]+)[\s\S]*Safari/i,browserId:"423"},599:{regexp:/^Mozilla[\s\S]*Android[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*OPR\/([0-9\.]+)/i,browserId:"321"},600:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*YRCWeblink\/([0-9\.]+)[\s\S]*Safari/i,browserId:"470"},601:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*OPR\/([0-9\.]+)/i,browserId:"17"},602:{regexp:/Mozilla[\s\S]*Gecko[\s\S]*Firefox[\s\S]*IceDragon\/([0-9\.]+)/i,browserId:"471"},603:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*YaBrowser\/([0-9\.]+)[\s\S]*Chrome/i,browserId:"457"},604:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*Safari[\s\S]*Midori\/([0-9\.]+)/i,browserId:"148"},605:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Dooble\/([0-9\.]+)[\s\S]*Safari/i,browserId:"269"},606:{regexp:/^Mozilla[\s\S]*AppleWebKit[\s\S]*Line truncated
|
||||
lineNumber:tb,lineStart:ub,start:e,end:sb}):(b=c.substr(0,2),g===b[1]&&"+-<>&|".indexOf(g)>=0||"=>"===b?(sb+=2,{type:ib.Punctuator,value:b,lineNumber:tb,lineStart:ub,start:e,end:sb}):"<>=!+-*%&|^/".indexOf(g)>=0?(++sb,{type:ib.Punctuator,value:g,lineNumber:tb,lineStart:ub,start:e,end:sb}):void S({},ob.UnexpectedToken,"ILLEGAL")))}function x(a){for(var b="";sb<vb&&d(qb[sb]);)b+=qb[sb++];return 0===b.length&&S({},ob.UnexpectedToken,"ILLEGAL"),h(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.NumericLiteral,value:parseInt("0x"+b,16),lineNumber:tb,lineStart:ub,start:a,end:sb}}function y(a){for(var b="0"+qb[sb++];sb<vb&&e(qb[sb]);)b+=qb[sb++];return(h(qb.charCodeAt(sb))||c(qb.charCodeAt(sb)))&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.NumericLiteral,value:parseInt(b,8),octal:!0,lineNumber:tb,lineStart:ub,start:a,end:sb}}function z(){var a,d,f;if(f=qb[sb],b(c(f.charCodeAt(0))||"."===f,"Numeric literal must start with a decimal digit or a decimal point"),d=sb,a="","."!==f){if(a=qb[sb++],f=qb[sb],"0"===a){if("x"===f||"X"===f)return++sb,x(d);if(e(f))return y(d);f&&c(f.charCodeAt(0))&&S({},ob.UnexpectedToken,"ILLEGAL")}for(;c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if("."===f){for(a+=qb[sb++];c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if("e"===f||"E"===f)if(a+=qb[sb++],f=qb[sb],"+"!==f&&"-"!==f||(a+=qb[sb++]),c(qb.charCodeAt(sb)))for(;c(qb.charCodeAt(sb));)a+=qb[sb++];else S({},ob.UnexpectedToken,"ILLEGAL");return h(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.NumericLiteral,value:parseFloat(a),lineNumber:tb,lineStart:ub,start:d,end:sb}}function A(){var a,c,d,f,h,i,j,k,l="",m=!1;for(j=tb,k=ub,a=qb[sb],b("'"===a||'"'===a,"String literal must starts with a quote"),c=sb,++sb;sb<vb;){if(d=qb[sb++],d===a){a="";break}if("\\"===d)if(d=qb[sb++],d&&g(d.charCodeAt(0)))++tb,"\r"===d&&"\n"===qb[sb]&&++sb,ub=sb;else switch(d){case"u":case"x":"{"===qb[sb]?(++sb,l+=s()):(i=sb,h=r(d),h?l+=h:(sb=i,l+=d));break;case"n":l+="\n";break;case"r":l+="\r";break;case"t":l+="\t";break;case"b":l+="\b";break;case"f":l+="\f";break;case"v":l+="\v";break;default:e(d)?(f="01234567".indexOf(d),0!==f&&(m=!0),sb<vb&&e(qb[sb])&&(m=!0,f=8*f+"01234567".indexOf(qb[sb++]),"0123".indexOf(d)>=0&&sb<vb&&e(qb[sb])&&(f=8*f+"01234567".indexOf(qb[sb++]))),l+=String.fromCharCode(f)):l+=d}else{if(g(d.charCodeAt(0)))break;l+=d}}return""!==a&&S({},ob.UnexpectedToken,"ILLEGAL"),{type:ib.StringLiteral,value:l,octal:m,startLineNumber:j,startLineStart:k,lineNumber:tb,lineStart:ub,start:c,end:sb}}function B(a,b){var c;try{c=new RegExp(a,b)}catch(a){S({},ob.InvalidRegExp)}return c}function C(){var a,c,d,e,f;for(a=qb[sb],b("/"===a,"Regular expression literal must start with a slash"),c=qb[sb++],d=!1,e=!1;sb<vb;)if(a=qb[sb++],c+=a,"\\"===a)a=qb[sb++],g(a.charCodeAt(0))&&S({},ob.UnterminatedRegExp),c+=a;else if(g(a.charCodeAt(0)))S({},ob.UnterminatedRegExp);else if(d)"]"===a&&(d=!1);else{if("/"===a){e=!0;break}"["===a&&(d=!0)}return e||S({},ob.UnterminatedRegExp),f=c.substr(1,c.length-2),{value:f,literal:c}}function D(){var a,b,c,d;for(b="",c="";sb<vb&&(a=qb[sb],i(a.charCodeAt(0)));)if(++sb,"\\"===a&&sb<vb)if(a=qb[sb],"u"===a){if(++sb,d=sb,a=r("u"))for(c+=a,b+="\\u";d<sb;++d)b+=qb[d];else sb=d,c+="u",b+="\\u";T({},ob.UnexpectedToken,"ILLEGAL")}else b+="\\",T({},ob.UnexpectedToken,"ILLEGAL");else c+=a,b+=a;return{value:c,literal:b}}function E(){var a,b,c,d;return wb=null,q(),a=sb,b=C(),c=D(),d=B(b.value,c.value),yb.tokenize?{type:ib.RegularExpression,value:d,lineNumber:tb,lineStart:ub,start:a,end:sb}:{literal:b.literal+c.literal,value:d,start:a,end:sb}}function F(){var a,b,c,d;return q(),a=sb,b={start:{line:tb,column:sb-ub}},c=E(),b.end={line:tb,column:sb-ub},yb.tokenize||(yb.tokens.length>0&&(d=yb.tokens[yb.tokens.length-1],d.range[0]===a&&"Punctuator"===d.type&&("/"!==d.value&&"/="!==d.value||yb.tokens.pop())),yb.tokens.push({type:"RegularExpression",value:c.literal,range:[a,sb],loc:b})),c}function G(a){return a.type===ib.Identifier||a.type===ib.Keyword||a.type===ib.BooleanLiteral||a.type===ib.NullLiteral}function H(){var a,b;if(a=yb.tokens[yb.tokens.length-1],!a)return F();if("Punctuator"===a.type){if("]"===a.value)return w();if(")"===a.value)return b=yb.tokens[yb.openParenToken-1],!b||"Keyword"!==b.type||"if"!==b.value&&"while"!==b.value&&"for"!==b.value&&"with"!==b.value?w():F();if("}"===a.value){if(yb.tokens[yb.openCurlyToken-3]&&"Keyword"===yb.tokens[yb.openCurlyToken-3].type){if(b=yb.tokens[yb.openCurlyToken-4],!b)return w()}else{if(!yb.tokens[yb.openCurlyToken-4]||"Keyword"!==yb.tokens[yb.openCurlyToken-4].type)return w();if(b=yb.tokens[yb.openCurlyToken-5],!b)return F()}return kb.indexOf(b.value)>=0?w():F()}return F()}return"Keyword"===a.type?F():w()}function I(){var a;return q(),sb>=vb?{type:ib.EOF,lineNumber:tb,lineStart:ub,start:sb,end:sb}:(a=qb.charCodeAt(sb),h(a)?v():40===a||41===a||59===a?w():39===a||34===a?A():46===a?c(qb.charCodeAt(sb+1))?z():w():c(a)?z():yb.tokenize&&47===a?H():w())}function J(){var a,b,c;return q(),a={sLine truncated
|
||||
NonAsciiIdentifierPart:new RegExp("[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0-\u08b2\u08e4-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d01-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1cf8\u1cf9\u1d00-\u1df5\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua69d\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2d\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uffLine truncated
|
||||
precedence:N.Sequence,allowIn:!0,allowCall:!0}),")"):e.push(")")}),e.push(C(a.body,""===l));break;case M.ForInStatement:e=["for"+aa+"("],w(function(){a.left.type===M.VariableDeclaration?w(function(){e.push(a.left.kind+" ",H(a.left.declarations[0],{allowIn:!1}))}):e.push(G(a.left,{precedence:N.Call,allowIn:!0,allowCall:!0})),e=u(e,"in"),e=[u(e,G(a.right,{precedence:N.Sequence,allowIn:!0,allowCall:!0})),")"]}),e.push(C(a.body,""===l));break;case M.LabeledStatement:e=[a.label.name+":",C(a.body,""===l)];break;case M.Program:for(d=a.body.length,e=[da&&d>0?"\n":""],c=0;c<d;c+=1)k=v(H(a.body[c],{semicolonOptional:!da&&c===d-1,directiveContext:!0})),e.push(k),c+1<d&&!i(t(k).toString())&&e.push(_);break;case M.FunctionDeclaration:e=[(a.generator&&!fa.moz.starlessGenerator?"function* ":"function ")+a.id.name,F(a)];break;case M.ReturnStatement:e=a.argument?[u("return",G(a.argument,{precedence:N.Sequence,allowIn:!0,allowCall:!0})),l]:["return"+l];break;case M.WhileStatement:w(function(){e=["while"+aa+"(",G(a.test,{precedence:N.Sequence,allowIn:!0,allowCall:!0}),")"]}),e.push(C(a.body,""===l));break;case M.WithStatement:w(function(){e=["with"+aa+"(",G(a.object,{precedence:N.Sequence,allowIn:!0,allowCall:!0}),")"]}),e.push(C(a.body,""===l));break;default:throw new Error("Unknown statement type: "+a.type)}return fa.comment&&(e=A(a,e)),k=t(e).toString(),a.type!==M.Program||da||""!==_||"\n"!==k.charAt(k.length-1)||(e=t(e).replaceRight(/\s+$/,"")),t(e,a)}function I(d,h){var i,j,l=b();switch(null!=h?("string"==typeof h.indent&&(l.format.indent.style=h.indent),"number"==typeof h.base&&(l.format.indent.base=h.base),h=k(l,h),V=h.format.indent.style,U="string"==typeof h.base?h.base:e(V,h.format.indent.base)):(h=l,V=h.format.indent.style,U=e(V,h.format.indent.base)),W=h.format.json,X=h.format.renumber,Y=!W&&h.format.hexadecimal,Z=W?"double":h.format.quotes,$=h.format.escapeless,h.format.compact?_=aa=V=U="":(_="\n",aa=" "),ba=h.format.parentheses,ca=h.format.semicolons,da=h.format.safeConcatenation,ea=h.directive,ga=W?null:h.parse,ha=h.sourceMap,fa=h,S=ha?c.browser?g.sourceMap.SourceNode:a("source-map").SourceNode:f,d.type){case M.BlockStatement:case M.BreakStatement:case M.CatchClause:case M.ContinueStatement:case M.DirectiveStatement:case M.DoWhileStatement:case M.DebuggerStatement:case M.EmptyStatement:case M.ExpressionStatement:case M.ForStatement:case M.ForInStatement:case M.FunctionDeclaration:case M.IfStatement:case M.LabeledStatement:case M.Program:case M.ReturnStatement:case M.SwitchStatement:case M.SwitchCase:case M.ThrowStatement:case M.TryStatement:case M.VariableDeclaration:case M.VariableDeclarator:case M.WhileStatement:case M.WithStatement:i=H(d);break;case M.AssignmentExpression:case M.ArrayExpression:case M.ArrayPattern:case M.BinaryExpression:case M.CallExpression:case M.ConditionalExpression:case M.FunctionExpression:case M.Identifier:case M.Literal:case M.LogicalExpression:case M.MemberExpression:case M.NewExpression:case M.ObjectExpression:case M.ObjectPattern:case M.Property:case M.SequenceExpression:case M.ThisExpression:case M.UnaryExpression:case M.UpdateExpression:case M.YieldExpression:i=G(d,{precedence:N.Sequence,allowIn:!0,allowCall:!0});break;default:throw new Error("Unknown node type: "+d.type)}return ha?(j=i.toStringWithSourceMap({file:h.sourceMap,sourceRoot:h.sourceMapRoot}),h.sourceMapWithCode?j:j.map.toString()):i.toString()}function J(a,b){var c,d,e,f;for(d=a.length,e=0;d;)c=d>>>1,f=e+c,b(a[f])?d=c:(e=f+1,d-=c+1);return e}function K(a,b){var c,d;return c=J(b,function(b){return b.range[0]>a.range[0]}),a.extendedRange=[a.range[0],a.range[1]],c!==b.length&&(a.extendedRange[1]=b[c].range[0]),c-=1,c>=0&&(c<b.length?a.extendedRange[0]=b[c].range[1]:d.length&&(a.extendedRange[1]=b[b.length-1].range[0])),a}function L(a,b,c){var d,e,f,g=[];if(!a.range)throw new Error("attachComments needs range information");if(!c.length){if(b.length){for(f=0,e=b.length;f<e;f+=1)d=j(b[f]),d.extendedRange=[0,a.range[0]],g.push(d);a.leadingComments=g}return a}for(f=0,e=b.length;f<e;f+=1)g.push(K(j(b[f]),c));return ia(a,{cursor:0,enter:function(a){for(var b;this.cursor<g.length&&(b=g[this.cursor],!(b.extendedRange[1]>a.range[0]));)b.extendedRange[1]===a.range[0]?(a.leadingComments||(a.leadingComments=[]),a.leadingComments.push(b),g.splice(this.cursor,1)):this.cursor+=1;return this.cursor===g.length?R.Break:g[this.cursor].extendedRange[0]>a.range[1]?R.Skip:void 0}}),ia(a,{cursor:0,leave:function(a){for(var b;this.cursor<g.length&&(b=g[this.cursor],!(a.range[1]<b.extendedRange[0]));)a.range[1]===b.extendedRange[0]?(a.trailingComments||(a.trailingComments=[]),a.trailingComments.push(b),g.splice(this.cursor,1)):this.cursor+=1;return this.cursor===g.length?R.Break:g[this.cursor].extendedRange[0]>a.range[1]?R.Skip:void 0}}),a}var M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia;ia=a("estraverse").traverse,M={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",BlockStLine truncated
|
||||
NonAsciiIdentifierPart:new RegExp("[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff4Line truncated
|
||||
a.call(b,this.__data[c],d,this))},c.prototype.keys=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push(a.substring(1));return b},c.prototype.values=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push(this.__data[a]);return b},c.prototype.items=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push([a.substring(1),this.__data[a]]);return b}),b.exports=c}()}),b.define("/lib/pass/remove-unreachable-branch.js",function(a,c,d,e){!function(c,d,e,f,g,h){function i(a,b){var c,f,i;if(c=g.booleanCondition(b.test),b.alternate){if("boolean"==typeof c)return h=!0,f=[],c?(i=e.delegateVariableDeclarations(b.alternate,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.consequent),{type:d.BlockStatement,body:f}):(i=e.delegateVariableDeclarations(b.consequent,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.alternate),{type:d.BlockStatement,body:f})}else if("boolean"==typeof c)return h=!0,f=[],c?(f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.consequent),{type:d.BlockStatement,body:f}):(i=e.delegateVariableDeclarations(b.consequent,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test})),{type:d.BlockStatement,body:f})}function j(a,b){var c;return c=g.booleanCondition(b.left),"boolean"==typeof c?(h=!0,c?"&&"===b.operator?e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.left,b.right]}):b.left:"&&"===b.operator?b.left:e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.left,b.right]})):void 0}function k(a,b){var c;return c=g.booleanCondition(b.test),"boolean"==typeof c?(h=!0,c?e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.test,b.consequent]}):e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.test,b.alternate]})):void 0}function l(a,b){var g,l;return g=b.get("destructive",{pathName:c})?a:e.deepCopy(a),h=!1,l=[],g=e.replace(g,{enter:function(a){var b;if(f.Scope.isVariableScopeRequired(a))return void l.push(a);switch(b=e.Array.last(l),a.type){case d.IfStatement:return i(b,a);case d.LogicalExpression:return j(b,a);case d.ConditionalExpression:return k(b,a)}},leave:function(a){f.Scope.isVariableScopeRequired(a)&&l.pop()}}),{result:g,modified:h}}c="remove-unreachable-branch",f=b("/node_modules/escope/escope.js",a),e=b("/lib/common.js",a),g=b("/lib/evaluator.js",a),d=e.Syntax,l.passName=c,a.exports=l}()}),b.define("/lib/evaluator.js",function(a,c,d,e){!function(d,e){function f(a,b){return a.type===d.Literal?"object"!=typeof a.value||null===a.value||b:a.type===d.UnaryExpression?"void"===a.operator||"delete"===a.operator||"!"===a.operator?f(a.argument,!0):f(a.argument,!1):a.type===d.BinaryExpression?"in"!==a.operator&&"instanceof"!==a.operator&&(f(a.left,!1)&&f(a.right,!1)):a.type===d.LogicalExpression&&(f(a.left,!0)&&f(a.right,!0))}function g(a){return a.type===d.Literal?a.value:a.type===d.UnaryExpression?i(a.operator,g(a.argument)):a.type===d.BinaryExpression?j(a.operator,g(a.left),g(a.right)):a.type===d.LogicalExpression?h(a.operator,g(a.left),g(a.right)):void e.unreachable()}function h(a,b,c){return"||"===a?b||c:"&&"===a?b&&c:void e.unreachable()}function i(a,b){switch(a){case"+":return+b;case"-":return-b;case"~":return~b;case"!":return!b;case"delete":return!0;case"void":return;case"typeof":return typeof b}e.unreachable()}function j(a,b,c){switch(a){case"|":return b|c;case"^":return b^c;case"&":return b&c;case"==":return b==c;case"!=":return b!=c;case"===":return b===c;case"!==":return b!==c;case"<":return b<c;case">":return b>c;case"<=":return b<=c;case">=":return b>=c;case"<<":return b<<c;case">>":return b>>c;case">>>":return b>>>c;case"+":return b+c;case"-":return b-c;case"*":return b*c;case"/":return b/c;case"%":return b%c}e.unreachable()}function k(a,b){function c(a){var e,g,h;switch(a.type){case d.AssignmentExpression:return!0;case d.ArrayExpression:for(e=0,g=a.elements.length;e<g;++e)if(c(a.elements[e]))return!0;return!1;case d.BinaryExpression:return!f(a);case d.CallExpression:return!0;case d.ConditionalExpression:return c(a.test)||c(a.consequent)||c(a.alternate);case d.FunctionExpression:return!1;case d.Identifier:return h=b.resolve(a),!h||!h.isStatic();case d.Literal:return!1;case d.LogicalExpression:return c(a.left)||c(a.right);case d.MemberExpression:return!0;case d.NewExpression:return!0;case d.ObjectExpression:for(e=0,g=a.properties.length;e<g;++e)if(c(a.properties[e]))return!0;return!1;case d.Property:return c(a.value);case d.SequenceExpression:for(e=0,g=a.expressions.length;e<g;++e)if(c(a.expressions[e]))return!0;return!1;case d.ThisExpression:return!1;case d.UnaryExpression:return"void"===a.operator||"delete"===a.operator||"typeof"===a.operator||"!"===a.operator?c(a.argument):!f(a);case d.UpdateExpression:return!0}return!0}return c(a)}function l(a){var b;switch(a.type){case d.AssignmentExpression:return l(a.right);case d.ArrayExpreLine truncated
|
||||
h.init&&g.push(h.init),1===g.length?h.init=g[0]:h.init={type:d.SequenceExpression,expressions:g},g=[]),j.push(h));g.length&&j.push(b(g,h)),a.body=j}function h(a,b){var h;return f=!1,h=b.get("destructive",{pathName:c})?a:e.deepCopy(a),e.traverse(h,{enter:function(a){switch(a.type){case d.BlockStatement:case d.Program:g(a)}}}),{result:h,modified:f}}c="transform-to-sequence-expression",e=b("/lib/common.js",a),d=e.Syntax,h.passName=c,a.exports=h}()}),b.define("/lib/pass/transform-to-compound-assignment.js",function(a,c,d,e){!function(c,d,e,f,g){function h(a,b){return a.type===b.type&&(a.type===d.Identifier&&a.name===b.name)}function i(a){switch(a){case"*":case"/":case"%":case"+":case"-":case"<<":case">>":case">>>":case"&":case"^":case"|":return a+"="}return null}function j(a){switch(a){case"*=":case"/=":case"%=":case"+=":case"-=":case"<<=":case">>=":case">>>=":case"&=":case"^=":case"|=":return a}return null}function k(a,b){var k,l,m;return k=b.get("destructive",{pathName:c})?a:e.deepCopy(a),g=!1,l=null,m=f.analyze(k,{directive:!0}),m.attach(),e.traverse(k,{enter:function(a){var b,c,e,f;l=m.acquire(a)||l,a.type===d.AssignmentExpression&&"="===a.operator&&(b=a.left,c=a.right,c.type===d.BinaryExpression&&h(c.left,b)?(e=i(c.operator),e&&(g=!0,a.operator=e,a.right=c.right)):c.type===d.AssignmentExpression&&h(c.left,b)&&j(c.operator)&&(f=l.resolve(a.left),f.isStatic()&&(g=!0,a.operator=c.operator,a.right=c.right)))},leave:function(a){l=m.release(a)||l}}),m.detach(),{result:k,modified:g}}c="transform-to-compound-assignment",f=b("/node_modules/escope/escope.js",a),e=b("/lib/common.js",a),d=e.Syntax,k.passName=c,a.exports=k}()}),b.define("/lib/pass/remove-wasted-blocks.js",function(a,c,d,e){!function(c,d,e,f){function g(a){var b,c,g,h,i,j,k,l;for(i=[],b=0,c=a.length;b<c;++b)if(j=a[b],j.type===d.BlockStatement){for(l=!0,g=0,h=j.body.length;g<h;++g)k=j.body[g],e.isScopedDeclaration(k)&&(l=!1);l?(f=!0,i=i.concat(j.body)):i.push(j)}else i.push(j);return i}function h(a,b){var h;return h=b.get("destructive",{pathName:c})?a:e.deepCopy(a),f=!1,h=e.replace(h,{leave:function(a,b){var c,h,i;if(a.type===d.BlockStatement||a.type===d.Program)for(c=0,h=a.body.length;c<h;++c)if(i=a.body[c],i.type===d.BlockStatement){a.body=g(a.body);break}if(b.type!==d.FunctionDeclaration&&b.type!==d.FunctionExpression&&b.type!==d.TryStatement&&b.type!==d.CatchClause){for(;a.type===d.BlockStatement&&1===a.body.length&&!e.isScopedDeclaration(a.body[0]);)f=!0,a=a.body[0];return a.type===d.BlockStatement&&0===a.body.length?(f=!0,{type:d.EmptyStatement}):a}}}),{result:h,modified:f}}c="remove-wasted-blocks",e=b("/lib/common.js",a),d=e.Syntax,h.passName=c,a.exports=h}()}),b.define("/lib/pass/remove-empty-statement.js",function(a,c,d,e){!function(c,d,e,f){function g(a){var b,c,e,g;for(g=[],b=0,c=a.length;b<c;++b)e=a[b],e.type===d.EmptyStatement?f=!0:g.push(e);return g}function h(a){a.alternate&&(a.alternate.type===d.EmptyStatement?(f=!0,a.alternate=null):a.consequent.type===d.EmptyStatement&&(f=!0,a.consequent=a.alternate,a.alternate=null,a.test=e.moveLocation(a.test,{type:d.UnaryExpression,operator:"!",argument:a.test})))}function i(a,b){var i;return f=!1,i=b.get("destructive",{pathName:c})?a:e.deepCopy(a),e.traverse(i,{enter:function(a){var b;switch(a.type){case d.BlockStatement:case d.Program:a.body=g(a.body);break;case d.SwitchCase:a.consequent=g(a.consequent);break;case d.IfStatement:h(a);break;case d.SwitchStatement:a.cases.length&&(b=e.Array.last(a.cases),!b.test&&e.Array.empty(b.consequent)&&(f=!0,a.cases.pop()))}}}),{result:i,modified:f}}c="remove-empty-statement",e=b("/lib/common.js",a),d=e.Syntax,i.passName=c,a.exports=i}()}),b.define("/lib/pass/remove-unused-label.js",function(a,c,d,e){!function(c,d,e,f,g,h){function i(a){this.set=new e,this.unused=[],this.upper=a}function j(a,b){var e;return e=b.get("destructive",{pathName:c})?a:f.deepCopy(a),g=null,h=!1,e=f.replace(e,{enter:function(a){switch(a.type){case d.Program:case d.FunctionDeclaration:case d.FunctionExpression:g=new i(g);break;case d.LabeledStatement:g.register(a);break;case d.BreakStatement:case d.ContinueStatement:g.resolve(a)}},leave:function(a){var b;return b=g.unregister(a),(a.type===d.Program||a.type===d.FunctionDeclaration||a.type===d.FunctionExpression)&&(g=g.close()),b}}),{result:e,modified:h}}c="remove-unused-label",f=b("/lib/common.js",a),e=b("/lib/map.js",a),d=f.Syntax,i.prototype.register=function(a){var b;f.assert(a.type===d.LabeledStatement),b=a.label.name,f.assert(!this.set.has(b),"duplicate label is found"),this.set.set(b,{used:!1,stmt:a})},i.prototype.unregister=function(a){var b,c;return a.type!==d.LabeledStatement||(b=a.label.name,c=this.set.get(b),this.set.delete(b),c.used)?a:(h=!0,a.body)},i.prototype.resolve=function(a){var b;a.label&&(b=a.label.name,f.assert(this.set.has(b),"unresolved label"),this.set.get(b).used=!0)},i.prototype.close=function(){return this.upper},j.passName=c,a.exports=j}()}),b.define("/lib/pass/reordering-function-declarations.js",function(a,cLine truncated
|
||||
a?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex}function ba(a){return this._monthsParseExact?(f(this,"_monthsRegex")||ca.call(this),a?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex}function ca(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)c=h([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=R(d[b]),e[b]=R(e[b]),f[b]=R(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")$","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")$","i")}function da(a){var b,c=a._a;return c&&j(a).overflow===-2&&(b=c[wd]<0||c[wd]>11?wd:c[xd]<1||c[xd]>V(c[vd],c[wd])?xd:c[yd]<0||c[yd]>24||24===c[yd]&&(0!==c[zd]||0!==c[Ad]||0!==c[Bd])?yd:c[zd]<0||c[zd]>59?zd:c[Ad]<0||c[Ad]>59?Ad:c[Bd]<0||c[Bd]>999?Bd:-1,j(a)._overflowDayOfYear&&(b<vd||b>xd)&&(b=xd),j(a)._overflowWeeks&&b===-1&&(b=Cd),j(a)._overflowWeekday&&b===-1&&(b=Dd),j(a).overflow=b),a}function ea(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function fa(a,b){var c=!0;return g(function(){return c&&(ea(a+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ga(a,b){Jd[a]||(ea(b),Jd[a]=!0)}function ha(a){var b,c,d,e,f,g,h=a._i,i=Kd.exec(h)||Ld.exec(h);if(i){for(j(a).iso=!0,b=0,c=Nd.length;b<c;b++)if(Nd[b][1].exec(i[1])){e=Nd[b][0],d=Nd[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Od.length;b<c;b++)if(Od[b][1].exec(i[3])){f=(i[2]||" ")+Od[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Md.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),wa(a)}else a._isValid=!1}function ia(b){var c=Pd.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(ha(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ja(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ka(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function la(a){return ma(a)?366:365}function ma(a){return a%4===0&&a%100!==0||a%400===0}function na(){return ma(this.year())}function oa(a,b,c){var d=7+b-c,e=(7+ka(a,0,d).getUTCDay()-b)%7;return-e+d-1}function pa(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=oa(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=la(f)+j):j>la(a)?(f=a+1,g=j-la(a)):(f=a,g=j),{year:f,dayOfYear:g}}function qa(a,b,c){var d,e,f=oa(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+ra(e,b,c)):g>ra(a.year(),b,c)?(d=g-ra(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function ra(a,b,c){var d=oa(a,b,c),e=oa(a+1,b,c);return(la(a)-d+e)/7}function sa(a,b,c){return null!=a?a:null!=b?b:c}function ta(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function ua(a){var b,c,d,e,f=[];if(!a._d){for(d=ta(a),a._w&&null==a._a[xd]&&null==a._a[wd]&&va(a),a._dayOfYear&&(e=sa(a._a[vd],d[vd]),a._dayOfYear>la(e)&&(j(a)._overflowDayOfYear=!0),c=ka(e,0,a._dayOfYear),a._a[wd]=c.getUTCMonth(),a._a[xd]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[yd]&&0===a._a[zd]&&0===a._a[Ad]&&0===a._a[Bd]&&(a._nextDay=!0,a._a[yd]=0),a._d=(a._useUTC?ka:ja).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[yd]=24)}}function va(a){var b,c,d,e,f,g,h,i;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=sa(b.GG,a._a[vd],qa(Ea(),1,4).year),d=sa(b.W,1),e=sa(b.E,1),(e<1||e>7)&&(i=!0)):(f=a._locale._week.dow,g=a._locale._week.doy,c=sa(b.gg,a._a[vd],qa(Ea(),f,g).year),d=sa(b.w,1),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f),d<1||d>ra(c,f,g)?j(a)._overflowWeeks=!0:null!=i?j(a)._overflowWeekday=!0:(h=pa(c,d,e,f,g),a._a[vd]=h.year,a._dayOfYear=h.dayOfYear)}function wa(b){if(b._f===a.ISO_8601)return void ha(b);b._a=[],j(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,k=0;for(e=N(b._f,b._locale).match($c)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(P(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&j(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),k+=d.length),bd[f]?(d?j(b).empty=!1:j(b).unusedTokens.push(f),U(f,d,b)):b._strict&&!d&&j(b).unusedTokens.push(f);j(b).charsLeftOver=i-k,h.length>0&&j(b).unusedInput.push(h),j(b).bigHour===!0&&b._a[yd]<=12&&b._a[yd]>0&&(j(b).bigHour=void 0),b._a[yd]=xa(b._locale,b._a[yd],b._meridiem),ua(b),Line truncated
|
||||
re.monthsParse=Y,re._monthsRegex=Id,re.monthsRegex=ba,re._monthsShortRegex=Hd,re.monthsShortRegex=aa,re.week=Qb,re._week=$d,re.firstDayOfYear=Sb,re.firstDayOfWeek=Rb,re.weekdays=Wb,re._weekdays=ae,re.weekdaysMin=Yb,re._weekdaysMin=ce,re.weekdaysShort=Xb,re._weekdaysShort=be,re.weekdaysParse=Zb,re.isPM=fc,re._meridiemParse=de,re.meridiem=gc,x("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===r(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=fa("moment.lang is deprecated. Use moment.locale instead.",x),a.langData=fa("moment.langData is deprecated. Use moment.localeData instead.",z);var se=Math.abs,te=Lc("ms"),ue=Lc("s"),ve=Lc("m"),we=Lc("h"),xe=Lc("d"),ye=Lc("w"),ze=Lc("M"),Ae=Lc("y"),Be=Nc("milliseconds"),Ce=Nc("seconds"),De=Nc("minutes"),Ee=Nc("hours"),Fe=Nc("days"),Ge=Nc("months"),He=Nc("years"),Ie=Math.round,Je={s:45,m:45,h:22,d:26,M:11},Ke=Math.abs,Le=Ia.prototype;Le.abs=Bc,Le.add=Dc,Le.subtract=Ec,Le.as=Jc,Le.asMilliseconds=te,Le.asSeconds=ue,Le.asMinutes=ve,Le.asHours=we,Le.asDays=xe,Le.asWeeks=ye,Le.asMonths=ze,Le.asYears=Ae,Le.valueOf=Kc,Le._bubble=Gc,Le.get=Mc,Le.milliseconds=Be,Le.seconds=Ce,Le.minutes=De,Le.hours=Ee,Le.days=Fe,Le.weeks=Oc,Le.months=Ge,Le.years=He,Le.humanize=Sc,Le.toISOString=Tc,Le.toString=Tc,Le.toJSON=Tc,Le.locale=ub,Le.localeData=vb,Le.toIsoString=fa("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Tc),Le.lang=Zd,J("X",0,0,"unix"),J("x",0,0,"valueOf"),O("x",od),O("X",rd),S("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),S("x",function(a,b,c){c._d=new Date(r(a))}),a.version="2.11.2",b(Ea),a.fn=ke,a.min=Ga,a.max=Ha,a.now=Td,a.utc=h,a.unix=kc,a.months=wc,a.isDate=d,a.locale=x,a.invalid=l,a.duration=Za,a.isMoment=p,a.weekdays=yc,a.parseZone=lc,a.localeData=z,a.isDuration=Ja,a.monthsShort=xc,a.weekdaysMin=Ac,a.defineLocale=y,a.weekdaysShort=zc,a.normalizeUnits=B,a.relativeTimeThreshold=Rc,a.prototype=ke;var Me=a;return Me}),/** @license
|
||||
========================================================================
|
||||
moment-timezone.js
|
||||
version : 0.4.1
|
||||
authors : Tim Wood
|
||||
license : MIT
|
||||
github.com/moment/moment-timezone
|
||||
*/
|
||||
function(a,b){"function"==typeof define&&define.amd?define(["moment"],b):"object"==typeof exports?module.exports=b(require("moment")):b(a.moment)}(this,function(a){function b(a){return a>96?a-87:a>64?a-29:a-48}function c(a){var c,d=0,e=a.split("."),f=e[0],g=e[1]||"",h=1,i=0,j=1;for(45===a.charCodeAt(0)&&(d=1,j=-1),d;d<f.length;d++)c=b(f.charCodeAt(d)),i=60*i+c;for(d=0;d<g.length;d++)h/=60,c=b(g.charCodeAt(d)),i+=c*h;return i*j}function d(a){for(var b=0;b<a.length;b++)a[b]=c(a[b])}function e(a,b){for(var c=0;c<b;c++)a[c]=Math.round((a[c-1]||0)+6e4*a[c]);a[b-1]=1/0}function f(a,b){var c,d=[];for(c=0;c<b.length;c++)d[c]=a[b[c]];return d}function g(a){var b=a.split("|"),c=b[2].split(" "),g=b[3].split(""),h=b[4].split(" ");return d(c),d(g),d(h),e(h,g.length),{name:b[0],abbrs:f(b[1].split(" "),g),offsets:f(c,g),untils:h}}function h(a){a&&this._set(g(a))}function i(a){return(a||"").toLowerCase().replace(/\//g,"_")}function j(a){var b,c,d;for("string"==typeof a&&(a=[a]),b=0;b<a.length;b++)c=a[b].split("|")[0],d=i(c),v[d]=a[b],x[d]=c}function k(a,b){a=i(a);var c,d=v[a];return d instanceof h?d:"string"==typeof d?(d=new h(d),v[a]=d,d):w[a]&&b!==k&&(c=k(w[a],k))?(d=v[a]=new h,d._set(c),d.name=x[a],d):null}function l(){var a,b=[];for(a in x)x.hasOwnProperty(a)&&(v[a]||v[w[a]])&&x[a]&&b.push(x[a]);return b.sort()}function m(a){var b,c,d,e;for("string"==typeof a&&(a=[a]),b=0;b<a.length;b++)c=a[b].split("|"),d=i(c[0]),e=i(c[1]),w[d]=e,x[d]=c[0],w[e]=d,x[e]=c[1]}function n(a){j(a.zones),m(a.links),r.dataVersion=a.version}function o(a){return o.didShowError||(o.didShowError=!0,q("moment.tz.zoneExists('"+a+"') has been deprecated in favor of !moment.tz.zone('"+a+"')")),!!k(a)}function p(a){return!(!a._a||void 0!==a._tzm)}function q(a){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(a)}function r(b){var c=Array.prototype.slice.call(arguments,0,-1),d=arguments[arguments.length-1],e=k(d),f=a.utc.apply(null,c);return e&&!a.isMoment(b)&&p(f)&&f.add(e.parse(f),"minutes"),f.tz(d),f}function s(a){return function(){return this._z?this._z.abbr(this):a.call(this)}}function t(a){return function(){return this._z=null,a.apply(this,arguments)}}if(void 0!==a.tz)return q("Moment Timezone "+a.tz.version+" was already loaded "+(a.tz.dataVersion?"with data from ":"without any data")+a.tz.dataVersion),a;var u="0.4.1",v={},w={},x={},y=a.version.split("."),z=+y[0],A=+y[1];(z<2||2===z&&A<6)&&q("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+a.version+". See momentjs.com"),h.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets},_index:function(a){var b,c=+a,d=this.untils;for(b=0;b<d.length;b++)if(c<d[b])return b},parse:function(a){var b,c,d,e,f=+a,g=this.offsets,h=this.untils,i=h.length-1;for(e=0;e<i;e++)if(b=g[e],c=g[e+1],d=g[e?e-1:e],b<c&&r.moveAmbiguousForward?b=c:b>d&&r.moveInvalidForward&&(b=d),f<h[e]-6e4*b)return g[e];return g[i]},abbr:function(a){return this.abbrs[this._index(a)]},offset:function(a){return this.offsets[this._index(a)]}},r.version=u,r.dataVersion="",r._zones=v,r._links=w,r._names=x,r.add=j,r.link=m,r.load=n,r.zone=k,r.zoneExists=o,r.names=l,r.Zone=h,r.unpack=g,r.unpackBase60=c,r.needsOffset=p,r.moveInvalidForward=!0,r.moveAmbiguousForward=!1;var B=a.fn;a.tz=r,a.defaultZone=null,a.updateOffset=function(b,c){var d,e=a.defaultZone;void 0===b._z&&(e&&p(b)&&!b._isUTC&&(b._d=a.utc(b._a)._d,b.utc().add(e.parse(b),"minutes")),b._z=e),b._z&&(d=b._z.offset(b),Math.abs(d)<16&&(d/=60),void 0!==b.utcOffset?b.utcOffset(-d,c):b.zone(d,c))},B.tz=function(b){return b?(this._z=k(b),this._z?a.updateOffset(this):q("Moment Timezone has no data for "+b+". See http://momentjs.com/timezone/docs/#/data-loading/."),this):this._z?this._z.name:void 0},B.zoneName=s(B.zoneName),B.zoneAbbr=s(B.zoneAbbr),B.utc=t(B.utc),a.tz.setDefault=function(b){return(z<2||2===z&&A<9)&&q("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+a.version+"."),a.defaultZone=b?k(b):null,a};var C=a.momentProperties;return"[object Array]"===Object.prototype.toString.call(C)?(C.push("_z"),C.push("_a")):C&&(C._z=null),n({version:"2015g",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q","Africa/Accra|LMT GMT GHST|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE","Africa/Addis_Ababa|LMT EAT BEAT BEAUT|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0","Africa/Bangui|LMT WAT|-d.A -10|01|-22y0d.A","Africa/Bissau|LMT WAT GMT|12.k 10 0|012|-2ldWV.E 2xonV.E","Africa/Blantyre|LMT
Line truncated
|
||||
links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Sao_Tome","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Addis_Ababa|Africa/Asmara","Africa/Addis_Ababa|Africa/Asmera","Africa/Addis_Ababa|Africa/Dar_es_Salaam","Africa/Addis_Ababa|Africa/Djibouti","Africa/Addis_Ababa|Africa/Kampala","Africa/Addis_Ababa|Africa/Mogadishu","Africa/Addis_Ababa|Africa/Nairobi","Africa/Addis_Ababa|Indian/Antananarivo","Africa/Addis_Ababa|Indian/Comoro","Africa/Addis_Ababa|Indian/Mayotte","Africa/Bangui|Africa/Brazzaville","Africa/Bangui|Africa/Douala","Africa/Bangui|Africa/Kinshasa","Africa/Bangui|Africa/Lagos","Africa/Bangui|Africa/Libreville","Africa/Bangui|Africa/Luanda","Africa/Bangui|Africa/Malabo","Africa/Bangui|Africa/Niamey","Africa/Bangui|Africa/Porto-Novo","Africa/Blantyre|Africa/Bujumbura","Africa/Blantyre|Africa/Gaborone","Africa/Blantyre|Africa/Harare","Africa/Blantyre|Africa/Kigali","Africa/Blantyre|Africa/Lubumbashi","Africa/Blantyre|Africa/Lusaka","Africa/Blantyre|Africa/Maputo","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Juba|Africa/Khartoum","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Anguilla|America/Antigua","America/Anguilla|America/Dominica","America/Anguilla|America/Grenada","America/Anguilla|America/Guadeloupe","America/Anguilla|America/Marigot","America/Anguilla|America/Montserrat","America/Anguilla|America/Port_of_Spain","America/Anguilla|America/St_Barthelemy","America/Anguilla|America/St_Kitts","America/Anguilla|America/St_Lucia","America/Anguilla|America/St_Thomas","America/Anguilla|America/St_Vincent","America/Anguilla|America/Tortola","America/Anguilla|America/Virgin","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Aruba|America/Curacao","America/Aruba|America/Kralendijk","America/Aruba|America/Lower_Princes","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Ensenada|America/Tijuana","America/Ensenada|Mexico/BajaNorte","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/Montreal|America/Toronto","America/Montreal|Canada/Eastern","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Phoenix|US/Arizona","America/Porto_Acre|America/Rio_Branco","America/Porto_Acre|Brazil/Acre","America/Regina|Canada/East-Saskatchewan","America/Regina|Canada/Saskatchewan","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Antarctica/McMurdo|Antarctica/South_Pole","Antarctica/McMurdo|NZ","Antarctica/McMurdo|Pacific/Auckland","Arctic/Longyearbyen|Atlantic/Jan_Mayen","Arctic/Longyearbyen|Europe/Oslo","Asia/Aden|Asia/Kuwait","Asia/Aden|Asia/Riyadh","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bahrain|Asia/Qatar","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Calcutta|Asia/Kolkata","Asia/Chongqing|Asia/Chungking","Asia/Chongqing|Asia/Harbin","Asia/Chongqing|Asia/Shanghai","Asia/Chongqing|PRC","Asia/Dacca|Asia/Dhaka","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Istanbul|Europe/Istanbul","Asia/Istanbul|Turkey","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kashgar|Asia/Urumqi","Asia/Kathmandu|Asia/Katmandu","Asia/Macao|Asia/Macau","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Seoul|ROK","Asia/Singapore|Singapore","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimbu|Asia/Thimphu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Atlantic/Faeroe|Atlantic/Faroe","Atlantic/Reykjavik|Iceland","Australia/ACT|Australia/Canberra","Australia/ACT|Australia/NSW","Australia/ACT|Australia/Sydney","Australia/Adelaide|Australia/South","Australia/BrisbaLine truncated
|
||||
========================================================================
|
||||
Google Code Prettify
|
||||
Copyright (C) 2006 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
var IN_GLOBAL_SCOPE=!0;window.PR_SHOULD_USE_CONTINUATION=!0;var prettyPrintOne,prettyPrint;!function(){function a(a){function b(a){var b=a.charCodeAt(0);if(92!==b)return b;var c=a.charAt(1);return b=l[c],b?b:"0"<=c&&c<="7"?parseInt(a.substring(1),8):"u"===c||"x"===c?parseInt(a.substring(2),16):a.charCodeAt(1)}function c(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);var b=String.fromCharCode(a);return"\\"===b||"-"===b||"]"===b||"^"===b?"\\"+b:b}function d(a){var d=a.substring(1,a.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g")),e=[],f="^"===d[0],g=["["];f&&g.push("^");for(var h=f?1:0,i=d.length;h<i;++h){var j=d[h];if(/\\[bdsw]/i.test(j))g.push(j);else{var k,l=b(j);h+2<i&&"-"===d[h+1]?(k=b(d[h+2]),h+=2):k=l,e.push([l,k]),k<65||l>122||(k<65||l>90||e.push([32|Math.max(65,l),32|Math.min(k,90)]),k<97||l>122||e.push([Math.max(97,l)&-33,Math.min(k,122)&-33]))}}e.sort(function(a,b){return a[0]-b[0]||b[1]-a[1]});for(var m=[],n=[],h=0;h<e.length;++h){var o=e[h];o[0]<=n[1]+1?n[1]=Math.max(n[1],o[1]):m.push(n=o)}for(var h=0;h<m.length;++h){var o=m[h];g.push(c(o[0])),o[1]>o[0]&&(o[1]+1>o[0]&&g.push("-"),g.push(c(o[1])))}return g.push("]"),g.join("")}function e(a){for(var b=a.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),e=b.length,h=[],i=0,j=0;i<e;++i){var k=b[i];if("("===k)++j;else if("\\"===k.charAt(0)){var l=+k.substring(1);l&&(l<=j?h[l]=-1:b[i]=c(l))}}for(var i=1;i<h.length;++i)-1===h[i]&&(h[i]=++f);for(var i=0,j=0;i<e;++i){var k=b[i];if("("===k)++j,h[j]||(b[i]="(?:");else if("\\"===k.charAt(0)){var l=+k.substring(1);l&&l<=j&&(b[i]="\\"+h[l])}}for(var i=0;i<e;++i)"^"===b[i]&&"^"!==b[i+1]&&(b[i]="");if(a.ignoreCase&&g)for(var i=0;i<e;++i){var k=b[i],m=k.charAt(0);k.length>=2&&"["===m?b[i]=d(k):"\\"!==m&&(b[i]=k.replace(/[a-zA-Z]/g,function(a){var b=a.charCodeAt(0);return"["+String.fromCharCode(b&-33,32|b)+"]"}))}return b.join("")}for(var f=0,g=!1,h=!1,i=0,j=a.length;i<j;++i){var k=a[i];if(k.ignoreCase)h=!0;else if(/[a-z]/i.test(k.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){g=!0,h=!1;break}}for(var l={b:8,t:9,n:10,v:11,f:12,r:13},m=[],i=0,j=a.length;i<j;++i){var k=a[i];if(k.global||k.multiline)throw new Error(""+k);m.push("(?:"+e(k)+")")}return new RegExp(m.join("|"),h?"gi":"g")}function b(a,b){function c(a){var i=a.nodeType;if(1==i){if(d.test(a.className))return;for(var j=a.firstChild;j;j=j.nextSibling)c(j);var k=a.nodeName.toLowerCase();"br"!==k&&"li"!==k||(e[h]="\n",g[h<<1]=f++,g[h++<<1|1]=a)}else if(3==i||4==i){var l=a.nodeValue;l.length&&(l=b?l.replace(/\r\n?/g,"\n"):l.replace(/[ \t\r\n]+/g," "),e[h]=l,g[h<<1]=f,f+=l.length,g[h++<<1|1]=a)}}var d=/(?:^|\s)nocode(?:\s|$)/,e=[],f=0,g=[],h=0;return c(a),{sourceCode:e.join("").replace(/\n$/,""),spans:g}}function c(a,b,c,d){if(b){var e={sourceCode:b,basePos:a};c(e),d.push.apply(d,e.decorations)}}function d(a){for(var b=void 0,c=a.firstChild;c;c=c.nextSibling){var d=c.nodeType;b=1===d?b?a:c:3===d&&R.test(c.nodeValue)?a:b}return b===a?void 0:b}function e(b,d){var e,f={};!function(){for(var c=b.concat(d),g=[],h={},i=0,j=c.length;i<j;++i){var k=c[i],l=k[3];if(l)for(var m=l.length;--m>=0;)f[l.charAt(m)]=k;var n=k[1],o=""+n;h.hasOwnProperty(o)||(g.push(n),h[o]=null)}g.push(/[\0-\uffff]/),e=a(g)}();var g=d.length,h=function(a){for(var b=a.sourceCode,i=a.basePos,k=[i,J],l=0,m=b.match(e)||[],n={},o=0,p=m.length;o<p;++o){var q,r=m[o],s=n[r],t=void 0;if("string"==typeof s)q=!1;else{var u=f[r.charAt(0)];if(u)t=r.match(u[1]),s=u[0];else{for(var v=0;v<g;++v)if(u=d[v],t=r.match(u[1])){s=u[0];break}t||(s=J)}q=s.length>=5&&"lang-"===s.substring(0,5),!q||t&&"string"==typeof t[1]||(q=!1,s=M),q||(n[r]=s)}var w=l;if(l+=r.length,q){var x=t[1],y=r.indexOf(x),z=y+x.length;t[2]&&(z=r.length-t[2].length,y=z-x.length);var A=s.substring(5);c(i+w,r.substring(0,y),h,k),c(i+w+y,x,j(A,x),k),c(i+w+z,r.substring(z),h,k)}else k.push(i+w,s)}a.decorations=k};return h}function f(a){var b=[],c=[];a.tripleQuotedStrings?b.push([D,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]):a.multiLineStrings?b.push([D,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):b.push([D,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]),a.verbatimStrings&&c.push([D,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var d=a.hashComments;d&&(a.cStyleComments?(d>1?b.push([F,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]):b.push([F,/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),c.push([D,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null])):b.push([F,/^#[^\r\n]*Line truncated
|
||||
========================================================================
|
||||
vkBeautify - javascript plugin to pretty-print or minify text in XML, JSON, CSS and SQL formats.
|
||||
|
||||
Version - 0.99.00.beta
|
||||
Copyright (c) 2012 Vadim Kiryukhin
|
||||
vkiryukhin @ gmail.com
|
||||
http://www.eslinstructor.net/vkbeautify/
|
||||
|
||||
Dual licensed under the MIT and GPL licenses:
|
||||
http://www.opensource.org/licenses/mit-license.php
|
||||
http://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
function(){function a(a){var b=" ";if(isNaN(parseInt(a)))b=a;else switch(a){case 1:b=" ";break;case 2:b=" ";break;case 3:b=" ";break;case 4:b=" ";break;case 5:b=" ";break;case 6:b=" ";break;case 7:b=" ";break;case 8:b=" ";break;case 9:b=" ";break;case 10:b=" ";break;case 11:b=" ";break;case 12:b=" "}for(var c=["\n"],d=0;d<100;d++)c.push(c[d]+b);return c}function b(){this.step=" ",this.shift=a(this.step)}function c(a,b){return b-(a.replace(/\(/g,"").length-a.replace(/\)/g,"").length)}function d(a,b){return a.replace(/\s{1,}/g," ").replace(/ AND /gi,"~::~"+b+b+"AND ").replace(/ BETWEEN /gi,"~::~"+b+"BETWEEN ").replace(/ CASE /gi,"~::~"+b+"CASE ").replace(/ ELSE /gi,"~::~"+b+"ELSE ").replace(/ END /gi,"~::~"+b+"END ").replace(/ FROM /gi,"~::~FROM ").replace(/ GROUP\s{1,}BY/gi,"~::~GROUP BY ").replace(/ HAVING /gi,"~::~HAVING ").replace(/ IN /gi," IN ").replace(/ JOIN /gi,"~::~JOIN ").replace(/ CROSS~::~{1,}JOIN /gi,"~::~CROSS JOIN ").replace(/ INNER~::~{1,}JOIN /gi,"~::~INNER JOIN ").replace(/ LEFT~::~{1,}JOIN /gi,"~::~LEFT JOIN ").replace(/ RIGHT~::~{1,}JOIN /gi,"~::~RIGHT JOIN ").replace(/ ON /gi,"~::~"+b+"ON ").replace(/ OR /gi,"~::~"+b+b+"OR ").replace(/ ORDER\s{1,}BY/gi,"~::~ORDER BY ").replace(/ OVER /gi,"~::~"+b+"OVER ").replace(/\(\s{0,}SELECT /gi,"~::~(SELECT ").replace(/\)\s{0,}SELECT /gi,")~::~SELECT ").replace(/ THEN /gi," THEN~::~"+b).replace(/ UNION /gi,"~::~UNION~::~").replace(/ USING /gi,"~::~USING ").replace(/ WHEN /gi,"~::~"+b+"WHEN ").replace(/ WHERE /gi,"~::~WHERE ").replace(/ WITH /gi,"~::~WITH ").replace(/ ALL /gi," ALL ").replace(/ AS /gi," AS ").replace(/ ASC /gi," ASC ").replace(/ DESC /gi," DESC ").replace(/ DISTINCT /gi," DISTINCT ").replace(/ EXISTS /gi," EXISTS ").replace(/ NOT /gi," NOT ").replace(/ NULL /gi," NULL ").replace(/ LIKE /gi," LIKE ").replace(/\s{0,}SELECT /gi,"SELECT ").replace(/\s{0,}UPDATE /gi,"UPDATE ").replace(/ SET /gi," SET ").replace(/~::~{1,}/g,"~::~").split("~::~")}b.prototype.xml=function(b,c){var d=b.replace(/>\s{0,}</g,"><").replace(/</g,"~::~<").replace(/\s*xmlns\:/g,"~::~xmlns:").replace(/\s*xmlns\=/g,"~::~xmlns=").split("~::~"),e=d.length,f=!1,g=0,h="",i=0,j=c?a(c):this.shift;for(i=0;i<e;i++)d[i].search(/<!/)>-1?(h+=j[g]+d[i],f=!0,(d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1||d[i].search(/!DOCTYPE/)>-1)&&(f=!1)):d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1?(h+=d[i],f=!1):/^<\w/.exec(d[i-1])&&/^<\/\w/.exec(d[i])&&/^<[\w:\-\.\,]+/.exec(d[i-1])==/^<\/[\w:\-\.\,]+/.exec(d[i])[0].replace("/","")?(h+=d[i],f||g--):d[i].search(/<\w/)>-1&&d[i].search(/<\//)==-1&&d[i].search(/\/>/)==-1?h=h+=f?d[i]:j[g++]+d[i]:d[i].search(/<\w/)>-1&&d[i].search(/<\//)>-1?h=h+=f?d[i]:j[g]+d[i]:d[i].search(/<\//)>-1?h=h+=f?d[i]:j[--g]+d[i]:d[i].search(/\/>/)>-1?h=h+=f?d[i]:j[g]+d[i]:h+=d[i].search(/<\?/)>-1?j[g]+d[i]:d[i].search(/xmlns\:/)>-1||d[i].search(/xmlns\=/)>-1?j[g]+d[i]:d[i];return"\n"==h[0]?h.slice(1):h},b.prototype.json=function(a,b){var b=b?b:this.step;return"undefined"==typeof JSON?a:"string"==typeof a?JSON.stringify(JSON.parse(a),null,b):"object"==typeof a?JSON.stringify(a,null,b):a},b.prototype.css=function(b,c){var d=b.replace(/\s{1,}/g," ").replace(/\{/g,"{~::~").replace(/\}/g,"~::~}~::~").replace(/\;/g,";~::~").replace(/\/\*/g,"~::~/*").replace(/\*\//g,"*/~::~").replace(/~::~\s{0,}~::~/g,"~::~").split("~::~"),e=d.length,f=0,g="",h=0,i=c?a(c):this.shift;for(h=0;h<e;h++)g+=/\{/.exec(d[h])?i[f++]+d[h]:/\}/.exec(d[h])?i[--f]+d[h]:/\*\\/.exec(d[h])?i[f]+d[h]:i[f]+d[h];return g.replace(/^\n{1,}/,"")},b.prototype.sql=function(b,e){var f=b.replace(/\s{1,}/g," ").replace(/\'/gi,"~::~'").split("~::~"),g=f.length,h=[],i=0,j=this.step,k=0,l="",m=0,n=e?a(e):this.shift;for(m=0;m<g;m++)h=m%2?h.concat(f[m]):h.concat(d(f[m],j));for(g=h.length,m=0;m<g;m++){k=c(h[m],k),/\s{0,}\s{0,}SELECT\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\s{0,}SET\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\(\s{0,}SELECT\s{0,}/.exec(h[m])?(i++,l+=n[i]+h[m]):/\'/.exec(h[m])?(k<1&&i&&i--,l+=h[m]):(l+=n[i]+h[m],k<1&&i&&i--)}return l=l.replace(/^\n{1,}/,"").replace(/\n{1,}/g,"\n")},b.prototype.xmlmin=function(a,b){var c=b?a:a.replace(/\<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)\>/g,"").replace(/[ \r\n\t]{1,}xmlns/g," xmlns");return c.replace(/>\s{0,}</g,"><")},b.prototype.jsonmin=function(a){return"undefined"==typeof JSON?a:JSON.stringify(JSON.parse(a),null,0)},b.prototype.cssmin=function(a,b){var c=b?a:a.replace(/\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\//g,"");return c.replace(/\s{1,}/g," ").replace(/\{\s{1,}/g,"{").replace(/\}\s{1,}/g,"}").replace(/\;\s{1,}/g,";").replace(/\/\*\s{1,}/g,"/*").replace(/\*\/\s{1,}/g,"*/")},b.prototype.sqlmin=function(a){return a.replace(/\s{1,}/g," ").replace(/\s{1,}\(/,"(").replace(/\s{1,}\)/,")")},window.vkbeautify=new b}(),/** @license
|
||||
========================================================================
|
||||
Sortable
|
||||
@author RubaXa <trash@rubaxa.org>
|
||||
@license MIT
|
||||
*/
|
||||
function(a){"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){function a(a,b){if(!a||!a.nodeType||1!==a.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(a);this.el=a,this.options=b=s({},b),a[M]=this;var c={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1};for(var d in c)!(d in b)&&(b[d]=c[d]);W(b);for(var f in this)"_"===f.charAt(0)&&(this[f]=this[f].bind(this));this.nativeDraggable=!b.forceFallback&&Q,e(a,"mousedown",this._onTapStart),e(a,"touchstart",this._onTapStart),this.nativeDraggable&&(e(a,"dragover",this),e(a,"dragenter",this)),U.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){w&&w.state!==a&&(h(w,"display",a?"none":""),!a&&w.state&&x.insertBefore(w,t),w.state=a)}function c(a,b,c){if(a){c=c||O;do if(">*"===b&&a.parentNode===c||q(a,b))return a;while(a!==c&&(a=a.parentNode))}return null}function d(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.preventDefault()}function e(a,b,c){a.addEventListener(b,c,!1)}function f(a,b,c){a.removeEventListener(b,c,!1)}function g(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(L," ").replace(" "+b+" "," ");a.className=(d+(c?" "+b:"")).replace(L," ")}}function h(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return O.defaultView&&O.defaultView.getComputedStyle?c=O.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function i(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;e<f;e++)c(d[e],e);return d}return[]}function j(a,b,c,d,e,f,g){var h=O.createEvent("Event"),i=(a||b[M]).options,j="on"+c.charAt(0).toUpperCase()+c.substr(1);h.initEvent(c,!0,!0),h.to=b,h.from=e||b,h.item=d||b,h.clone=w,h.oldIndex=f,h.newIndex=g,b.dispatchEvent(h),i[j]&&i[j].call(a,h)}function k(a,b,c,d,e,f){var g,h,i=a[M],j=i.options.onMove;return g=O.createEvent("Event"),g.initEvent("move",!0,!0),g.to=b,g.from=a,g.dragged=c,g.draggedRect=d,g.related=e||b,g.relatedRect=f||b.getBoundingClientRect(),a.dispatchEvent(g),j&&(h=j.call(i,g)),h}function l(a){a.draggable=!1}function m(){S=!1}function n(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return(b.clientY-(d.top+d.height)>5||b.clientX-(d.right+d.width)>5)&&c}function o(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function p(a,b){var c=0;if(!a||!a.parentNode)return-1;for(;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&q(a,b)&&c++;return c}function q(a,b){if(a){b=b.split(".");var c=b.shift().toUpperCase(),d=new RegExp("\\s("+b.join("|")+")(?=\\s)","g");return!(""!==c&&a.nodeName.toUpperCase()!=c||b.length&&((" "+a.className+" ").match(d)||[]).length!=b.length)}return!1}function r(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}function s(a,b){if(a&&b)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}if("undefined"==typeof window||"undefined"==typeof window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K={},L=/\s+/g,M="Sortable"+(new Date).getTime(),N=window,O=N.document,P=N.parseInt,Q=!!("draggable"in O.createElement("div")),R=function(a){return a=O.createElement("x"),a.style.cssText="pointer-events:auto","auto"===a.style.pointerEvents}(),S=!1,T=Math.abs,U=([].slice,[]),V=r(function(a,b,c){if(c&&b.scroll){var d,e,f,g,h=b.scrollSensitivity,i=b.scrollSpeed,j=a.clientX,k=a.clientY,l=window.innerWidth,m=window.innerHeight;if(A!==c&&(z=b.scroll,A=c,z===!0)){z=c;do if(z.offsetWidth<z.scrollWidth||z.offsetHeight<z.scrollHeight)break;while(z=z.parentNode)}z&&(d=z,e=z.getBoundingClientRect(),f=(T(e.right-j)<=h)-(T(e.left-j)<=h),g=(T(e.bottom-k)<=h)-(T(e.top-k)<=h)),f||g||(f=(l-j<=h)-(j<=h),g=(m-k<=h)-(k<=h),(f||g)&&(d=N)),K.vx===f&&K.vy===g&&K.el===d||(K.el=d,K.vx=f,K.vy=g,clearInterval(K.pid),d&&(K.pid=setInterval(function(){d===N?N.scrollTo(N.pageXOffset+f*i,N.pageYOffset+g*i):(g&&(d.scrollTop+=g*i),f&&(d.scrollLeft+=f*i))},24)))}},30),W=function(a){var b=a.group;b&&"object"==typeof b||(b=a.group={name:b}),["pull","put"].forEach(function(a){a in b||(b[a]=!0)}),a.groups=" "+b.name+(b.put.join?" "+b.put.join(" "):"")+" "};return a.prototype={constructor:a,_onTapStart:function(a){var b=this,d=this.el,e=thisLine truncated
|
||||
var a=new MessageChannel;return a.port1.onmessage=j,function(){return a.port2.postMessage(0)}}function i(){var a=setTimeout;return function(){return a(j,1)}}function j(){for(var a=0;a<S;a+=2){var b=_[a],c=_[a+1];b(c),_[a]=void 0,_[a+1]=void 0}S=0}function k(){try{var a=require,b=a("vertx");return T=b.runOnLoop||b.runOnContext,f()}catch(a){return i()}}function l(a,b){var c=arguments,d=this,e=new this.constructor(n);void 0===e[ba]&&G(e);var f=d._state;return f?!function(){var a=c[f-1];V(function(){return D(f,e,a,d._result)})}():z(d,e,a,b),e}function m(a){var b=this;if(a&&"object"==typeof a&&a.constructor===b)return a;var c=new b(n);return v(c,a),c}function n(){}function o(){return new TypeError("You cannot resolve a promise with itself")}function p(){return new TypeError("A promises callback cannot return that same promise.")}function q(a){try{return a.then}catch(a){return fa.error=a,fa}}function r(a,b,c,d){try{a.call(b,c,d)}catch(a){return a}}function s(a,b,c){V(function(a){var d=!1,e=r(c,b,function(c){d||(d=!0,b!==c?v(a,c):x(a,c))},function(b){d||(d=!0,y(a,b))},"Settle: "+(a._label||" unknown promise"));!d&&e&&(d=!0,y(a,e))},a)}function t(a,b){b._state===da?x(a,b._result):b._state===ea?y(a,b._result):z(b,void 0,function(b){return v(a,b)},function(b){return y(a,b)})}function u(a,c,d){c.constructor===a.constructor&&d===l&&c.constructor.resolve===m?t(a,c):d===fa?y(a,fa.error):void 0===d?x(a,c):b(d)?s(a,c,d):x(a,c)}function v(b,c){b===c?y(b,o()):a(c)?u(b,c,q(c)):x(b,c)}function w(a){a._onerror&&a._onerror(a._result),A(a)}function x(a,b){a._state===ca&&(a._result=b,a._state=da,0!==a._subscribers.length&&V(A,a))}function y(a,b){a._state===ca&&(a._state=ea,a._result=b,V(w,a))}function z(a,b,c,d){var e=a._subscribers,f=e.length;a._onerror=null,e[f]=b,e[f+da]=c,e[f+ea]=d,0===f&&a._state&&V(A,a)}function A(a){var b=a._subscribers,c=a._state;if(0!==b.length){for(var d=void 0,e=void 0,f=a._result,g=0;g<b.length;g+=3)d=b[g],e=b[g+c],d?D(c,d,e,f):e(f);a._subscribers.length=0}}function B(){this.error=null}function C(a,b){try{return a(b)}catch(a){return ga.error=a,ga}}function D(a,c,d,e){var f=b(d),g=void 0,h=void 0,i=void 0,j=void 0;if(f){if(g=C(d,e),g===ga?(j=!0,h=g.error,g=null):i=!0,c===g)return void y(c,p())}else g=e,i=!0;c._state!==ca||(f&&i?v(c,g):j?y(c,h):a===da?x(c,g):a===ea&&y(c,g))}function E(a,b){try{b(function(b){v(a,b)},function(b){y(a,b)})}catch(b){y(a,b)}}function F(){return ha++}function G(a){a[ba]=ha++,a._state=void 0,a._result=void 0,a._subscribers=[]}function H(a,b){this._instanceConstructor=a,this.promise=new a(n),this.promise[ba]||G(this.promise),R(b)?(this._input=b,this.length=b.length,this._remaining=b.length,this._result=new Array(this.length),0===this.length?x(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&x(this.promise,this._result))):y(this.promise,I())}function I(){return new Error("Array Methods must be provided an Array")}function J(a){return new H(this,a).promise}function K(a){var b=this;return new b(R(a)?function(c,d){for(var e=a.length,f=0;f<e;f++)b.resolve(a[f]).then(c,d)}:function(a,b){return b(new TypeError("You must pass an array to race."))})}function L(a){var b=this,c=new b(n);return y(c,a),c}function M(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function N(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function O(a){this[ba]=F(),this._result=this._state=void 0,this._subscribers=[],n!==a&&("function"!=typeof a&&M(),this instanceof O?E(this,a):N())}function P(){var a=void 0;if("undefined"!=typeof global)a=global;else if("undefined"!=typeof self)a=self;else try{a=Function("return this")()}catch(a){throw new Error("polyfill failed because global object is unavailable in this environment")}var b=a.Promise;if(b){var c=null;try{c=Object.prototype.toString.call(b.resolve())}catch(a){}if("[object Promise]"===c&&!b.cast)return}a.Promise=O}var Q=void 0;Q=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var R=Q,S=0,T=void 0,U=void 0,V=function(a,b){_[S]=a,_[S+1]=b,S+=2,2===S&&(U?U(j):aa())},W="undefined"!=typeof window?window:void 0,X=W||{},Y=X.MutationObserver||X.WebKitMutationObserver,Z="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),$="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,_=new Array(1e3),aa=void 0;aa=Z?e():Y?g():$?h():void 0===W&&"function"==typeof require?k():i();var ba=Math.random().toString(36).substring(16),ca=void 0,da=1,ea=2,fa=new B,ga=new B,ha=0;return H.prototype._enumerate=function(){for(var a=this.length,b=this._input,c=0;this._state===ca&&c<a;c++)this._eachEntry(b[c],c)},H.prototype._eachEntry=function(a,b){var c=this._instanceConstructor,d=c.resolve;if(d===m){var e=q(a);if(e===l&&a._state!==ca)this._Line truncated
|
||||
========================================================================
|
||||
XPath.js - Pure JavaScript implementation of XPath 2.0 parser and evaluator
|
||||
|
||||
Copyright (c) 2012 Sergey Ilinsky
|
||||
Dual licensed under the MIT and GPL licenses.
|
||||
*/
|
||||
function(){function a(a){this.code=a,this.message=Vc[a]}function b(b){var c=b.match(/\$?(?:(?![0-9-])(?:\w[\w.-]*|\*):)?(?![0-9-])(?:\w[\w.-]*|\*)|\(:|:\)|\/\/|\.\.|::|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?|"[^"]*(?:""[^"]*)*"|'[^']*(?:''[^']*)*'|<<|>>|[!<>]=|(?![0-9-])[\w-]+:\*|\s+|./g);if(c){for(var d=0,e=0,f=c.length;e<f;e++)"(:"==c[e]?d++:":)"==c[e]&&d?d--:d||/^\s/.test(c[e])||(this[this.length++]=c[e]);if(d)throw new a("XPST0003")}}function c(){}function d(a,b,d,e){this.staticContext=a,this.item=b,this.scope=d||{},this.stack={},this.DOMAdapter=e||new c;var f=new Ec,g=f.getTimezoneOffset();this.dateTime=new _a(f.getFullYear(),f.getMonth()+1,f.getDate(),f.getHours(),f.getMinutes(),f.getSeconds()+f.getMilliseconds()/1e3,-g),this.timezone=new Ab(0,Gc.abs(~~(g/60)),Gc.abs(g%60),0,g>0)}function e(){this.dataTypes={},this.documents={},this.functions={},this.collations={},this.collections={}}function f(a,b,c){Xc[a]=c,Yc[a]=b}function g(a,b){Zc[a]=b}function h(c,d){var e=new b(c),f=l(e,d);if(!e.eof())throw new a("XPST0003");if(!f)throw new a("XPST0003");this.internalExpression=f}function i(){}function j(){}function k(){this.items=[]}function l(b,c){var d;if(!b.eof()&&(d=m(b,c))){var e=new k;for(e.items.push(d);","==b.peek();){if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");e.items.push(d)}return e}}function m(a,b){if(!a.eof())return s(a,b)||o(a,b)||u(a,b)||K(a,b)}function n(){this.bindings=[],this.returnExpr=null}function o(b,c){if("for"==b.peek()&&"$"==b.peek(1).substr(0,1)){b.next();var d,e=new n;do e.bindings.push(q(b,c));while(","==b.peek()&&b.next());if("return"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");return e.returnExpr=d,e}}function p(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function q(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new p(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function r(a,b,c){this.condExpr=a,this.thenExpr=b,this.elseExpr=c}function s(b,c){var d,e,f;if("if"==b.peek()&&"("==b.peek(1)){if(b.next(2),b.eof()||!(d=l(b,c)))throw new a("XPST0003");if(")"!=b.peek())throw new a("XPST0003");if(b.next(),"then"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");if("else"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(f=m(b,c)))throw new a("XPST0003");return new r(d,e,f)}}function t(a){this.quantifier=a,this.bindings=[],this.satisfiesExpr=null}function u(b,c){var d=b.peek();if(("some"==d||"every"==d)&&"$"==b.peek(1).substr(0,1)){b.next();var e,f=new t(d);do f.bindings.push(w(b,c));while(","==b.peek()&&b.next());if("satisfies"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");return f.satisfiesExpr=e,f}}function v(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function w(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new v(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function x(a,b,c){this.left=a,this.right=b,this.operator=c}function y(b,c){var d,e;if(!b.eof()&&(d=ya(b,c))){if(!(b.peek()in cd))return d;var f=b.peek();if(b.next(),b.eof()||!(e=ya(b,c)))throw new a("XPST0003");return new x(d,e,f)}}function z(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return new Xa(!1);var d=vc(a.right.evaluate(b),b);if(!d.length)return new Xa(!1);for(var e,f,g=!1,h=0,i=c.length;h<i&&!g;h++)for(var j,k,l=0,m=d.length;l<m&&!g;l++)f=c[h],k=d[l],e=f instanceof xb,j=k instanceof xb,e&&j?(f=ub.cast(f),k=ub.cast(k)):(e?k instanceof Ab?f=Ab.cast(f):k instanceof yb?f=yb.cast(f):k.primitiveKind&&(f=Zc[k.primitiveKind].cast(f)):j&&(f instanceof Ab?k=Ab.cast(k):f instanceof yb?k=yb.cast(k):f.primitiveKind&&(k=Zc[f.primitiveKind].cast(k))),f instanceof Va&&(f=ub.cast(f)),k instanceof Va&&(k=ub.cast(k))),g=ad[_c[a.operator]](f,k,b).valueOf();return new Xa(g)}function A(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return null;ua(b,c,"?");var d=vc(a.right.evaluate(b),b);if(!d.length)return null;ua(b,d,"?");var e=c[0],f=d[0];return e instanceof xb&&(e=ub.cast(e)),f instanceof xb&&(f=ub.cast(f)),e instanceof Va&&(e=ub.cast(e)),f instanceof Va&&(f=ub.cast(f)),ad[a.operator](e,f,b)}function B(a,b){var c=a.left.evaluate(b);if(!c.length)return null;ua(b,c,"?"),ta(b,c,Zb);var d=a.right.evaluate(b);return d.length?(ua(b,d,"?"),ta(b,d,Zb),bd[a.operator](c[0],d[0],b)):null}function C(a){this.left=a,this.items=[]}function D(b,c){var d;if(!b.eof()&&(d=F(b,c))){if(!(b.peek()in dd))return d;for(var e,f=new C(d);(e=b.peek())in dd;){if(b.next(),b.eof()||!(d=F(b,c)))throw new a("XPST0003");f.items.push([e,d])}return f}}funLine truncated
|
||||
if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.lt=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(0))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.ge=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-greater-than"].call(d,Xc.compare.call(d,b,c),new Cb(-1))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")},ad.le=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-greater-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-greater-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(1))}else b instanceof Ya?c instanceof Ya&&(e="date-greater-than"):b instanceof vb?c instanceof vb&&(e="time-greater-than"):b instanceof _a?c instanceof _a&&(e="dateTime-greater-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-greater-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-greater-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")};var bd={};bd.is=function(a,b,c){return $c["is-same-node"].call(c,a,b)},bd[">>"]=function(a,b,c){return $c["node-after"].call(c,a,b)},bd["<<"]=function(a,b,c){return $c["node-before"].call(c,a,b)};var cd={"=":z,"!=":z,"<":z,"<=":z,">":z,">=":z,eq:A,ne:A,lt:A,le:A,gt:A,ge:A,is:B,">>":B,"<<":B};C.prototype.left=null,C.prototype.items=null;var dd={};dd["+"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)&&(e="numeric-add"):b instanceof Ya?c instanceof yb?e="add-yearMonthDuration-to-date":c instanceof Ab&&(e="add-dayTimeDuration-to-date"):b instanceof yb?c instanceof Ya?(e="add-yearMonthDuration-to-date",f=!0):c instanceof _a?(e="add-yearMonthDuration-to-dateTime",f=!0):c instanceof yb&&(e="add-yearMonthDurations"):b instanceof Ab?c instanceof Ya?(e="add-dayTimeDuration-to-date",f=!0):c instanceof vb?(e="add-dayTimeDuration-to-time",f=!0):c instanceof _a?(e="add-dayTimeDuration-to-dateTime",f=!0):c instanceof Ab&&(e="add-dayTimeDurations"):b instanceof vb?c instanceof Ab&&(e="add-dayTimeDuration-to-time"):b instanceof _a&&(c instanceof yb?e="add-yearMonthDuration-to-dateTime":c instanceof Ab&&(e="add-dayTimeDuration-to-dateTime")),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},dd["-"]=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-subtract"):b instanceof Ya?c instanceof Ya?e="subtract-dates":c instanceof yb?e="subtract-yearMonthDuration-from-date":c instanceof Ab&&(e="subtract-dayTimeDuration-from-date"):b instanceof vb?c instanceof vb?e="subtract-times":c instanceof Ab&&(e="subtract-dayTimeDuration-from-time"):b instanceof _a?c instanceof _a?e="subtract-dateTimes":c instanceof yb?e="subtract-yearMonthDuration-from-dateTime":c instanceof Ab&&(e="subtract-dayTimeDuration-from-dateTime"):b instanceof yb?c instanceof yb&&(e="subtract-yearMonthDurations"):b instanceof Ab&&c instanceof Ab&&(e="subtract-dayTimeDurations"),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},C.prototype.evaluate=function(a){var b=vc(this.left.evaluate(a),a);if(!b.length)return[];ua(a,b,"?");var c=b[0];c instanceof xb&&(c=gb.cast(c));for(var d,e,f=0,g=this.items.length;f<g;f++){if(d=vc(this.items[f][1].evaluate(a),a),!d.length)return[];ua(a,d,"?"),e=d[0],e instanceof xb&&(e=gb.cast(e)),c=dd[this.items[f][0]](c,e,a)}return[c]},E.prototype.left=null,E.prototype.items=null;var ed={};ed["*"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)?e="numeric-multiply":c instanceof yb?(e="multiply-yearMonthDuration",f=!0):c instanceof Ab&&(e="multiply-dayTimeDuration",f=!0):b instanceof yb?Ua(c)&&(e="multiply-yearMonthDuration"):b instanceof Ab&&Ua(c)&&(e="multiply-dayTimeDuration"),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},ed.div=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-divide"):b instanceof yb?Ua(c)?e="divide-yearMonthDuration":c instanceof yb&&(e="divide-yearMonthDuration-by-yearMonthDuration"):b instanceof Ab&&(Ua(c)?e="divide-dayTimeDuration":c instanceof Ab&&(e="divide-dayTimeDuration-by-dayTimeDuration")),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ed.idiv=function(b,c,d){if(Ua(b)Line truncated
|
||||
Ob.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=255)return new Ob(c.value);throw new a("FORG0001")},g("unsignedByte",Ob),Pb.prototype=new ub,Pb.prototype.builtInKind=j.NORMALIZEDSTRING_DT,Pb.cast=function(a){return new Pb(Ac(a))},g("normalizedString",Pb),Qb.prototype=new Pb,Qb.prototype.builtInKind=j.TOKEN_DT,Qb.cast=function(a){return new Qb(Ac(a))},g("token",Qb),Rb.prototype=new Qb,Rb.prototype.builtInKind=j.NAME_DT,Rb.cast=function(a){return new Rb(Ac(a))},g("Name",Rb),Sb.prototype=new Rb,Sb.prototype.builtInKind=j.NCNAME_DT,Sb.cast=function(a){return new Sb(Ac(a))},g("NCName",Sb),Tb.prototype=new Sb,Tb.prototype.builtInKind=j.ENTITY_DT,Tb.cast=function(a){return new Tb(Ac(a))},g("ENTITY",Tb),Ub.prototype=new Sb,Ub.prototype.builtInKind=j.ID_DT,Ub.cast=function(a){return new Ub(Ac(a))},g("ID",Ub),Vb.prototype=new Sb,Vb.prototype.builtInKind=j.IDREF_DT,Vb.cast=function(a){return new Vb(Ac(a))},g("IDREF",Vb),Wb.prototype=new Qb,Wb.prototype.builtInKind=j.LANGUAGE_DT,Wb.cast=function(a){return new Wb(Ac(a))},g("language",Wb),Xb.prototype=new Qb,Xb.prototype.builtInKind=j.NMTOKEN_DT,Xb.cast=function(a){return new Xb(Ac(a))},g("NMTOKEN",Xb),Zb.prototype=new Yb,$b.prototype=new Zb,_b.prototype=new Zb,ac.prototype=new Zb,bc.prototype=new Zb,cc.prototype=new Zb,dc.prototype=new Zb,$c["hexBinary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["base64Binary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-less-than"]=function(a,b){return new Xa(a.valueOf()<b.valueOf())},$c["boolean-greater-than"]=function(a,b){return new Xa(a.valueOf()>b.valueOf())},$c["yearMonthDuration-less-than"]=function(a,b){return new Xa(lc(a)<lc(b))},$c["yearMonthDuration-greater-than"]=function(a,b){return new Xa(lc(a)>lc(b))},$c["dayTimeDuration-less-than"]=function(a,b){return new Xa(jc(a)<jc(b))},$c["dayTimeDuration-greater-than"]=function(a,b){return new Xa(jc(a)>jc(b))},$c["duration-equal"]=function(a,b){return new Xa(a.negative==b.negative&&lc(a)==lc(b)&&jc(a)==jc(b))},$c["dateTime-equal"]=function(a,b){return gc(a,b,"eq")},$c["dateTime-less-than"]=function(a,b){return gc(a,b,"lt")},$c["dateTime-greater-than"]=function(a,b){return gc(a,b,"gt")},$c["date-equal"]=function(a,b){return fc(a,b,"eq")},$c["date-less-than"]=function(a,b){return fc(a,b,"lt")},$c["date-greater-than"]=function(a,b){return fc(a,b,"gt")},$c["time-equal"]=function(a,b){return ec(a,b,"eq")},$c["time-less-than"]=function(a,b){return ec(a,b,"lt")},$c["time-greater-than"]=function(a,b){return ec(a,b,"gt")},$c["gYearMonth-equal"]=function(a,b){return gc(new _a(a.year,a.month,Za(a.year,a.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,b.month,Za(b.year,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gYear-equal"]=function(a,b){return gc(new _a(a.year,1,1,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,1,1,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonthDay-equal"]=function(a,b){return gc(new _a(1972,a.month,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonth-equal"]=function(a,b){return gc(new _a(1972,a.month,Za(1972,b.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,Za(1972,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gDay-equal"]=function(a,b){return gc(new _a(1972,12,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,12,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["add-yearMonthDurations"]=function(a,b){return mc(lc(a)+lc(b))},$c["subtract-yearMonthDurations"]=function(a,b){return mc(lc(a)-lc(b))},$c["multiply-yearMonthDuration"]=function(a,b){return mc(lc(a)*b)},$c["divide-yearMonthDuration"]=function(a,b){return mc(lc(a)/b)},$c["divide-yearMonthDuration-by-yearMonthDuration"]=function(a,b){return new fb(lc(a)/lc(b))},$c["add-dayTimeDurations"]=function(a,b){return kc(jc(a)+jc(b))},$c["subtract-dayTimeDurations"]=function(a,b){return kc(jc(a)-jc(b))},$c["multiply-dayTimeDuration"]=function(a,b){return kc(jc(a)*b)},$c["divide-dayTimeDuration"]=function(a,b){return kc(jc(a)/b)},$c["divide-dayTimeDuration-by-dayTimeDuration"]=function(a,b){return new fb(jc(a)/jc(b))},$c["subtract-dateTimes"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-dates"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-times"]=function(a,b){return kc(nc(a)-nc(b))},$c["add-yearMonthDuration-to-dateTime"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-dateTime"]=function(a,b){return ic(a,b,"+")},$c["subtract-yearMonthDuration-from-dateTime"]=function(a,b){return hc(a,b,"-")},$c["subtract-dayTimeDuration-from-dateTime"]=function(a,b){return ic(a,b,"-")},$c["add-yearMonthDuration-to-date"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-date"]=function(a,b){rLine truncated
|
||||
return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},padBytesRight:function(a,b,c){c=c||0;var d=new Array(b);return d.fill(c),Array.prototype.map.call(a,function(a,b){d[b]=a}),d},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parseEscapedChars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expandAlphRange:function(a){for(var b=[],c=0;c<a.length;c++)if(c<a.length-2&&"-"===a[c+1]&&"\\"!==a[c]){for(var d=Utils.ord(a[c]),e=Utils.ord(a[c+2]),f=Line truncated
|
||||
var l,m=a.decrypt({ciphertext:k,salt:f.sigBytes>0&&f},d,{iv:e.sigBytes>0?e:null,mode:g,padding:h});try{l=m.toString(Utils.format[j])}catch(a){l="Decrypt error: "+a.message}return l},runAesEnc:function(a,b){return Cipher._enc(CryptoJS.AES,a,b)},runAesDec:function(a,b){return Cipher._dec(CryptoJS.AES,a,b)},runDesEnc:function(a,b){return Cipher._enc(CryptoJS.DES,a,b)},runDesDec:function(a,b){return Cipher._dec(CryptoJS.DES,a,b)},runTripleDesEnc:function(a,b){return Cipher._enc(CryptoJS.TripleDES,a,b)},runTripleDesDec:function(a,b){return Cipher._dec(CryptoJS.TripleDES,a,b)},runRabbitEnc:function(a,b){return Cipher._enc(CryptoJS.Rabbit,a,b)},runRabbitDec:function(a,b){return Cipher._dec(CryptoJS.Rabbit,a,b)},BLOWFISH_MODES:["ECB","CBC","PCBC","CFB","OFB","CTR"],BLOWFISH_OUTPUT_TYPES:["Base64","Hex","String","Raw"],runBlowfishEnc:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];if(0===c.length)return"Enter a key";var f=blowfish.encrypt(a,c,{outputType:1,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}),g=CryptoJS.enc.Hex.parse(f);return g.toString(Utils.format[e])},runBlowfishDec:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];return 0===c.length?"Enter a key":(a=Utils.format[e].parse(a),blowfish.decrypt(a.toString(CryptoJS.enc.Base64),c,{outputType:0,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}))},KDF_KEY_SIZE:256,KDF_ITERATIONS:1,runPbkdf2:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.PBKDF2(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runEvpkdf:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.EvpKDF(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runRc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,runRc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},runVigenereEnc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},runVigenereDec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},AFFINE_A:1,AFFINE_B:0,runAffineEnc:function(a,b){var c="abcdefghijklmnopqrstuvwxyz",d=b[0],e=b[1],f="";if(!/^\+?(0|[1-9]\d*)$/.test(d)||!/^\+?(0|[1-9]\d*)$/.test(e))return"The values of a and b can only be integers.";for(var g=0;g<a.length;g++)f+=c.indexOf(a[g])>=0?c[(d*c.indexOf(a[g])+e)%26]:c.indexOf(a[g].toLowerCase())>=0?c[(d*c.indexOf(a[g].toLowerCase())+e)%26].toUpperCase():a[g];return f},runAffineDec:function(a,b){var c,d="abcdefghijklmnopqrstuvwxyz",e=b[0],f=b[1],g="";if(!/^\+?(0|[1-9]\d*)$/.test(e)||!/^\+?(0|[1-9]\d*)$/.test(f))return"The values of a and b can only be integers.";if(1!==Utils.gcd(e,26))return"The value of a must be coprime to 26.";c=Utils.modInv(e,26);for(var h=0;h<a.length;h++)g+=d.indexOf(a[h])>=0?d[Utils.mod((d.indexOf(a[h])-f)*c,26)]:d.indexOf(a[h].toLowerCase())>=0?d[Utils.mod((d.indexOf(a[h].toLowerCase())-f)*c,26)].toUpperCase():a[h];return g},runAtbash:function(a,b){return Cipher.runAffineEnc(a,[25,25])},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","defaLine truncated
|
||||
},Endian={DATA_FORMAT:["Hex","Raw"],WORD_LENGTH:4,PAD_INCOMPLETE_WORDS:!0,runSwapEndianness:function(a,b){var c=b[0],d=b[1],e=b[2],f=[],g=[],h=[],i=0,j=0;if(d<=0)return"Word length must be greater than 0";switch(c){case"Hex":f=Utils.fromHex(a);break;case"Raw":f=Utils.strToByteArray(a);break;default:f=a}for(i=0;i<f.length;i+=d){var k=f.slice(i,i+d);if(e&&k.length<d)for(j=k.length;j<d;j++)k.push(0);h.push(k)}for(i=0;i<h.length;i++)for(j=h[i].length;j--;)g.push(h[i][j]);switch(c){case"Hex":return Utils.toHex(g);case"Raw":return Utils.byteArrayToUtf8(g);default:return g}}},Entropy={CHUNK_SIZE:1e3,runEntropy:function(a,b){var c=b[0],d="",e=Entropy._calcEntropy(a);d+="Shannon entropy: "+e+"\n<br><canvas id='chart-area'></canvas><br>\n- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string.\n- Standard English text usually falls somewhere between 3.5 and 5.\n- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5.\n\nThe following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections.\n\n<br><script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), entropy = "+e+", height = parentRect.height * 0.25; canvas.width = parentRect.width * 0.95; canvas.height = height > 150 ? 150 : height; CanvasComponents.drawScaleBar(canvas, entropy, 8, [ { label: 'English text', min: 3.5, max: 5 },{ label: 'Encrypted/compressed', min: 7.5, max: 8 } ]); <\/script>";var f=0;if(0!==c)for(var g=0;g<a.length;g+=c)f=Entropy._calcEntropy(a.slice(g,g+c)),d+="Bytes "+g+" to "+(g+c)+": "+f+"\n";else d+="Chunk size cannot be 0.";return d},FREQ_ZEROS:!1,runFreqDistrib:function(a,b){if(!a.length)return"No data";for(var c=new Array(256),d=new Array(256),e=a.length,f=b[0],g=0;g<256;g++)c[g]=0;for(g=0;g<e;g++)c[a[g]]++;var h=0;for(g=0;g<256;g++)c[g]>0&&h++,d[g]=c[g]/e*100;var i="<canvas id='chart-area'></canvas><br>Total data length: "+e+"\nNumber of bytes represented: "+h+"\nNumber of bytes not represented: "+(256-h)+"\n\nByte Percentage\n<script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), scores = "+JSON.stringify(d)+"; canvas.width = parentRect.width * 0.95; canvas.height = parentRect.height * 0.9; CanvasComponents.drawBarChart(canvas, scores, 'Byte', 'Frequency %', 16, 6); <\/script>";for(g=0;g<256;g++)(c[g]||f)&&(i+=" "+Utils.hex(g,2)+" ("+Utils.padRight(d[g].toFixed(2).replace(".00","")+"%)",8)+Array(Math.ceil(d[g])+1).join("|")+"\n");return i},_calcEntropy:function(a){for(var b=[],c=a.unique(),d=Utils.byteArrayToChars(a),e=0;e<c.length;e++)b.push(d.count(Utils.chr(c[e]))/a.length);var f,g=0;for(e=0;e<b.length;e++)f=b[e],g+=f*Math.log(f)/Math.log(2);return-g}},Extract={_search:function(a,b,c,d){for(var e,f="",g=0;e=b.exec(a);)c&&c.test(e[0])||(g++,f+=e[0]+"\n");return d&&(f="Total found: "+g+"\n\n"+f),f},MIN_STRING_LEN:3,DISPLAY_TOTAL:!1,runStrings:function(a,b){var c=b[0]||Extract.MIN_STRING_LEN,d=b[1],e="[A-Z\\d/\\-:.,_$%'\"()<>= !\\[\\]{}@]",f=new RegExp(e+"{"+c+",}","ig");return Extract._search(a,f,null,d)},INCLUDE_IPV4:!0,INCLUDE_IPV6:!1,REMOVE_LOCAL:!1,runIp:function(a,b){var c=b[0],d=b[1],e=b[2],f=b[3],g="(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?",h="((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})",i="";if(c&&d?i=g+"|"+h:c?i=g:d&&(i=h),i){var j=new RegExp(i,"ig");if(e){var k="10\\..+",l="192\\.168\\..+",m="172\\.(?:1[6-9]|2\\d|3[01])\\..+",n="127\\..+",o=new RegExp("^(?:"+k+"|"+l+"|"+m+"|"+n+")");return Extract._search(a,j,o,f)}return Extract._search(a,j,null,f)}return""},runEmail:function(a,b){var c=b[0],d=/\w[-.\w]*@[-\w]+(?:\.[-\w]+)*\.[A-Z]{2,4}/gi;return Extract._search(a,d,null,c)},runMac:function(a,b){var c=b[0],d=/[A-F\d]{2}(?:[:-][A-F\d]{2}){5}/gi;return Extract._search(a,d,null,c)},runUrls:function(a,b){var c=b[0],d="[A-Z]+://",e="[-\\w]+(?:\\.\\w[-\\w]*)+",f=":\\d+",g="/[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]*";g+="(?:[.!,?]+[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]+)*";var h=new RegExp(d+e+"(?:"+f+")?(?:"+g+")?","ig");return Extract._search(a,h,null,c)},runDomains:function(a,b){var c=b[0],d="https?://"Line truncated
|
||||
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIPv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");if(e[5]&!0&&e[6]>>>8===254){d+="\n\nThis IPv6 address contains a modified EUI-64 address, identified by the presence of FF:FE in the 12th and 13th octets.";var t=Utils.hex(e[4]>>>8)+":"+Utils.hex(255&e[4]Line truncated
|
||||
runHexToPem:function(a,b){return KJUR.asn1.ASN1Util.getPEMStringFromHex(a.replace(/\s/g,""),b[0])},runHexToObjectIdentifier:function(a,b){return KJUR.asn1.ASN1Util.oidHexToInt(a.replace(/\s/g,""))},runObjectIdentifierToHex:function(a,b){return KJUR.asn1.ASN1Util.oidIntToHex(a)},ASN1_TRUNCATE_LENGTH:32,runParseAsn1HexString:function(a,b){var c=b[1],d=b[0];return ASN1HEX.dump(a.replace(/\s/g,""),{ommitLongOctet:c},d)},_formatDnStr:function(a,b){for(var c,d,e,f="",g=a.split(",/|"),h=0,i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],h=c.length>h?c.length:h);for(i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],d=g[i].split("=")[1],e=Utils.padRight(c,h)+" = "+d+"\n",f+=Utils.padLeft(e,b+e.length," "));return f},_formatByteStr:function(a,b,c){a=Utils.toHex(Utils.fromHex(a),":"),b*=3;for(var d="",e=0;e<a.length;e+=b){var f=a.slice(e,e+b)+"\n";d+=0===e?f:Utils.padLeft(f,c+f.length," ")}return d.slice(0,d.length-1)},_formatDate:function(a){return a[4]+a[5]+"/"+a[2]+a[3]+"/"+a[0]+a[1]+" "+a[6]+a[7]+":"+a[8]+a[9]+":"+a[10]+a[11]}};X509.hex2dn=function(a){for(var b="",c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0),d=0;d<c.length;d++){var e=ASN1HEX.getHexOfTLV_AtObj(a,c[d]);b=b+",/|"+X509.hex2rdn(e)}return b},X509.DN_ATTRHEX={"0603550403":"commonName","0603550404":"surname","0603550406":"countryName","0603550407":"localityName","0603550408":"stateOrProvinceName","0603550409":"streetAddress","060355040a":"organizationName","060355040b":"organizationalUnitName","060355040c":"title","0603550414":"telephoneNumber","060355042a":"givenName","06032b06010505070201":"idCertificatePolicies","06036086480186f8420101":"netscape-cert-type","06036086480186f8420102":"netscape-base-url","06036086480186f8420103":"netscape-revocation-url","06036086480186f8420104":"netscape-ca-revocation-url","06036086480186f8420107":"netscape-cert-renewal-url","06036086480186f8420108":"netscape-ca-policy-url","06036086480186f842010c":"netscape-ssl-server-name","06036086480186f842010d":"netscape-comment","0603604c010201":"A1","0603604c010203":"A3","0603604c01020110":"Certification Practice Statement pointer","0603604c010301":"Dados do cert parte 1","0603604c010305":"Dados do cert parte 2","0603604c010306":"Dados do cert parte 3","06030992268993f22c640119":"domainComponent","06032a24a0f2a07d01010a":"Signet pilot","06032a24a0f2a07d01010b":"Signet intraNet","06032a24a0f2a07d010102":"Signet personal","06032a24a0f2a07d010114":"Signet securityPolicy","06032a24a0f2a07d010103":"Signet business","06032a24a0f2a07d010104":"Signet legal","06032a24a497a35301640101":"Certificates Australia policyIdentifier","06032a85702201":"seis-cp","06032a8570220101":"SEIS certificatePolicy-s10","06032a85702202":"SEIS pe","06032a85702203":"SEIS at","06032a8570220301":"SEIS at-personalIdentifier","06032a8648ce380201":"holdinstruction-none","06032a8648ce380202":"holdinstruction-callissuer","06032a8648ce380203":"holdinstruction-reject","06032a8648ce380401":"dsa","06032a8648ce380403":"dsaWithSha1","06032a8648ce3d01":"fieldType","06032a8648ce3d0101":"prime-field","06032a8648ce3d0102":"characteristic-two-field","06032a8648ce3d010201":"ecPublicKey","06032a8648ce3d010203":"characteristic-two-basis","06032a8648ce3d01020301":"onBasis","06032a8648ce3d01020302":"tpBasis","06032a8648ce3d01020303":"ppBasis","06032a8648ce3d02":"publicKeyType","06032a8648ce3d0201":"ecPublicKey","06032a8648ce3e0201":"dhPublicNumber","06032a864886f67d07":"nsn","06032a864886f67d0741":"nsn-ce","06032a864886f67d074100":"entrustVersInfo","06032a864886f67d0742":"nsn-alg","06032a864886f67d07420a":"cast5CBC","06032a864886f67d07420b":"cast5MAC","06032a864886f67d07420c":"pbeWithMD5AndCAST5-CBC","06032a864886f67d07420d":"passwordBasedMac","06032a864886f67d074203":"cast3CBC","06032a864886f67d0743":"nsn-oc","06032a864886f67d074300":"entrustUser","06032a864886f67d0744":"nsn-at","06032a864886f67d074400":"entrustCAInfo","06032a864886f67d07440a":"attributeCertificate","06032a864886f70d0101":"pkcs-1","06032a864886f70d010101":"rsaEncryption","06032a864886f70d010102":"md2withRSAEncryption","06032a864886f70d010103":"md4withRSAEncryption","06032a864886f70d010104":"md5withRSAEncryption","06032a864886f70d010105":"sha1withRSAEncryption","06032a864886f70d010106":"rsaOAEPEncryptionSET","06032a864886f70d010910020b":"SMIMEEncryptionKeyPreference","06032a864886f70d010c":"pkcs-12","06032a864886f70d010c01":"pkcs-12-PbeIds","06032a864886f70d010c0101":"pbeWithSHAAnd128BitRC4","06032a864886f70d010c0102":"pbeWithSHAAnd40BitRC4","06032a864886f70d010c0103":"pbeWithSHAAnd3-KeyTripleDES-CBC","06032a864886f70d010c0104":"pbeWithSHAAnd2-KeyTripleDES-CBC","06032a864886f70d010c0105":"pbeWithSHAAnd128BitRC2-CBC","06032a864886f70d010c0106":"pbeWithSHAAnd40BitRC2-CBC","06032a864886f70d010c0a":"pkcs-12Version1","06032a864886f70d010c0a01":"pkcs-12BadIds","06032a864886f70d010c0a0101":"pkcs-12-keyBag","06032a864886f70d010c0a0102":"pkcs-12-pkcs-8ShroudedKeyBag","06032a864886f70d010c0a0103":"pkcs-12-certBag","06032a864886f70d010c0a0104":"pkcs-12-crlBag","06032a864Line truncated
|
||||
return d.slice(0,d.length-1)},runRemoveLineNumbers:function(a,b){return a.replace(/^[ \t]{0,5}\d+[\s:|\-,.)\]]/gm,"")},runExpandAlphRange:function(a,b){return Utils.expandAlphRange(a).join(b[0])},_caseInsensitiveSort:function(a,b){return a.toLowerCase().localeCompare(b.toLowerCase())},_ipSort:function(a,b){var c=a.split("."),d=b.split(".");return c=16777216*c[0]+65536*c[1]+256*c[2]+1*c[3],d=16777216*d[0]+65536*d[1]+256*d[2]+1*d[3],isNaN(c)&&!isNaN(d)?1:!isNaN(c)&&isNaN(d)?-1:isNaN(c)&&isNaN(d)?a.localeCompare(b):c-d}},StrUtils={REGEX_PRE_POPULATE:[{name:"User defined",value:""},{name:"IPv4 address",value:"(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?"},{name:"IPv6 address",value:"((?=.*::)(?!.*::.+::)(::)?([\\dA-Fa-f]{1,4}:(:|\\b)|){5}|([\\dA-Fa-f]{1,4}:){6})((([\\dA-Fa-f]{1,4}((?!\\3)::|:\\b|(?![\\dA-Fa-f])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})"},{name:"Email address",value:"(\\w[-.\\w]*)@([-\\w]+(?:\\.[-\\w]+)*)\\.([A-Za-z]{2,4})"},{name:"URL",value:'([A-Za-z]+://)([-\\w]+(?:\\.\\w[-\\w]*)+)(:\\d+)?(/[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]*(?:[.!,?]+[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]+)*)?'},{name:"Domain",value:"(?:(https?):\\/\\/)?([-\\w.]+)\\.(com|net|org|biz|info|co|uk|onion|int|mobi|name|edu|gov|mil|eu|ac|ae|af|de|ca|ch|cn|cy|es|gb|hk|il|in|io|tv|me|nl|no|nz|ro|ru|tr|us|az|ir|kz|uz|pk)+"},{name:"Windows file path",value:"([A-Za-z]):\\\\((?:[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61}\\\\?)*[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61})(\\.[A-Za-z\\d]{1,6})?"},{name:"UNIX file path",value:"(?:/[A-Za-z\\d.][A-Za-z\\d\\-.]{0,61})+"},{name:"MAC address",value:"[A-Fa-f\\d]{2}(?:[:-][A-Fa-f\\d]{2}){5}"},{name:"Date (yyyy-mm-dd)",value:"((?:19|20)\\d\\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])"},{name:"Date (dd/mm/yyyy)",value:"(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((?:19|20)\\d\\d)"},{name:"Date (mm/dd/yyyy)",value:"(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]((?:19|20)\\d\\d)"},{name:"Strings",value:'[A-Za-z\\d/\\-:.,_$%\\x27"()<>= !\\[\\]{}@]{4,}'}],REGEX_CASE_INSENSITIVE:!0,REGEX_MULTILINE_MATCHING:!0,OUTPUT_FORMAT:["Highlight matches","List matches","List capture groups","List matches with capture groups"],DISPLAY_TOTAL:!1,runRegex:function(a,b){var c=b[1],d=b[2],e=b[3],f=b[4],g=b[5],h="g";if(d&&(h+="i"),e&&(h+="m"),!c||"^"===c||"$"===c)return Utils.escapeHtml(a);try{var i=new RegExp(c,h);switch(g){case"Highlight matches":return StrUtils._regexHighlight(a,i,f);case"List matches":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!1));case"List capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!1,!0));case"List matches with capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!0));default:return"Error: Invalid output format"}}catch(a){return"Invalid regex. Details: "+a.message}},CASE_SCOPE:["All","Word","Sentence","Paragraph"],runUpper:function(a,b){var c=b[0];switch(c){case"Word":return a.replace(/(\b\w)/gi,function(a){return a.toUpperCase()});case"Sentence":return a.replace(/(?:\.|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"Paragraph":return a.replace(/(?:\n|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"All":default:return a.toUpperCase()}},runLower:function(a,b){return a.toLowerCase()},SEARCH_TYPE:["Regex","Extended (\\n, \\t, \\x...)","Simple string"],FIND_REPLACE_GLOBAL:!0,FIND_REPLACE_CASE:!1,FIND_REPLACE_MULTILINE:!0,runFindReplace:function(a,b){var c=b[0].string,d=b[0].option,e=b[1],f=b[2],g=b[3],h=b[4],i="";return f&&(i+="g"),g&&(i+="i"),h&&(i+="m"),"Regex"===d?c=new RegExp(c,i):0===d.indexOf("Extended")&&(c=Utils.parseEscapedChars(c)),a.replace(c,e,i)},SPLIT_DELIM:",",DELIMITER_OPTIONS:["Line feed","CRLF","Space","Comma","Semi-colon","Colon","Nothing (separate chars)"],runSplit:function(a,b){var c=b[0]||StrUtils.SPLIT_DELIM,d=Utils.charRep[b[1]],e=a.split(c);return e.join(d)},runFilter:function(a,b){var c=Utils.charRep[b[0]],d=b[2];try{var e=new RegExp(b[1])}catch(a){return"Invalid regex. Details: "+a.message}var f=function(a){return d^e.test(a)};return a.split(c).filter(f).join(c)},DIFF_SAMPLE_DELIMITER:"\\n\\n",DIFF_BY:["Character","Word","Line","Sentence","CSS","JSON"],runDiff:function(a,b){var c,d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=a.split(d),j="";if(!i||2!==i.length)return"Incorrect number of samples, perhaps you need to modify the sample delimiter or add more samples?";switch(e){case"Character":c=JsDiff.diffChars(i[0],i[1]);break;case"Word":c=h?JsDiff.diffWords(i[0],i[1]):JsDiff.diffWordsWithSpace(i[0],i[1]);break;case"Line":c=h?JsDiff.diffTrimmedLines(i[0],i[1]):JsDiff.diffLines(i[0],i[1]);break;case"Sentence":c=JsDiff.diffSentences(i[0],i[1]);break;case"CSS":c=JsDiff.diffCss(i[0],i[1]);break;case"JSON":c=JsDiff.diffJson(i[0],i[1]);break;default:return"Invalid 'Diff by' option."}for(var k=0;k<c.length;k++)c[k].added?f&&(j+="<span class='hlgreen'>"+Utils.escapeHtml(c[k].value)+"</span>"):c[k].removed?g&&(j+="<span
Line truncated
|
||||
inputType:"string",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS},{name:"Base",type:"number",value:ByteRepr.CHARCODE_BASE}]},"From Binary":{description:"Converts a binary string back into its raw form.<br><br>e.g. <code>01001000 01101001</code> becomes <code>Hi</code>",run:ByteRepr.runFromBinary,highlight:ByteRepr.highlightFromBinary,highlightReverse:ByteRepr.highlightToBinary,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"To Binary":{description:"Displays the input data as a binary string.<br><br>e.g. <code>Hi</code> becomes <code>01001000 01101001</code>",run:ByteRepr.runToBinary,highlight:ByteRepr.highlightToBinary,highlightReverse:ByteRepr.highlightFromBinary,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"From Decimal":{description:"Converts the data from an ordinal integer array back into its raw form.<br><br>e.g. <code>72 101 108 108 111</code> becomes <code>Hello</code>",run:ByteRepr.runFromDecimal,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"To Decimal":{description:"Converts the input data to an ordinal integer array.<br><br>e.g. <code>Hello</code> becomes <code>72 101 108 108 111</code>",run:ByteRepr.runToDecimal,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"From Hexdump":{description:"Attempts to convert a hexdump back into raw data. This operation supports many different hexdump variations, but probably not all. Make sure you verify that the data it gives you is correct before continuing analysis.",run:Hexdump.runFrom,highlight:Hexdump.highlightFrom,highlightReverse:Hexdump.highlightTo,inputType:"string",outputType:"byteArray",args:[]},"To Hexdump":{description:"Creates a hexdump of the input data, displaying both the hexademinal values of each byte and an ASCII representation alongside.",run:Hexdump.runTo,highlight:Hexdump.highlightTo,highlightReverse:Hexdump.highlightFrom,inputType:"byteArray",outputType:"string",args:[{name:"Width",type:"number",value:Hexdump.WIDTH},{name:"Upper case hex",type:"boolean",value:Hexdump.UPPER_CASE},{name:"Include final length",type:"boolean",value:Hexdump.INCLUDE_FINAL_LENGTH}]},"From Base":{description:"Converts a number to decimal from a given numerical base.",run:Base.runFrom,inputType:"string",outputType:"number",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"To Base":{description:"Converts a decimal number to a given numerical base.",run:Base.runTo,inputType:"number",outputType:"string",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"From HTML Entity":{description:"Converts HTML entities back to characters<br><br>e.g. <code>&<span>amp;</span></code> becomes <code>&</code>",run:HTML.runFromEntity,inputType:"string",outputType:"string",args:[]},"To HTML Entity":{description:"Converts characters to HTML entities<br><br>e.g. <code>&</code> becomes <code>&<span>amp;</span></code>",run:HTML.runToEntity,inputType:"string",outputType:"string",args:[{name:"Convert all characters",type:"boolean",value:HTML.CONVERT_ALL},{name:"Convert to",type:"option",value:HTML.CONVERT_OPTIONS}]},"Strip HTML tags":{description:"Removes all HTML tags from the input.",run:HTML.runStripTags,inputType:"string",outputType:"string",args:[{name:"Remove indentation",type:"boolean",value:HTML.REMOVE_INDENTATION},{name:"Remove excess line breaks",type:"boolean",value:HTML.REMOVE_LINE_BREAKS}]},"URL Decode":{description:"Converts URI/URL percent-encoded characters back to their raw values.<br><br>e.g. <code>%3d</code> becomes <code>=</code>",run:URL_.runFrom,inputType:"string",outputType:"string",args:[]},"URL Encode":{description:"Encodes problematic characters into percent-encoding, a format supported by URIs/URLs.<br><br>e.g. <code>=</code> becomes <code>%3d</code>",run:URL_.runTo,inputType:"string",outputType:"string",args:[{name:"Encode all special chars",type:"boolean",value:URL_.ENCODE_ALL}]},"Parse URI":{description:"Pretty prints complicated Uniform Resource Identifier (URI) strings for ease of reading. Particularly useful for Uniform Resource Locators (URLs) with a lot of arguments.",run:URL_.runParse,inputType:"string",outputType:"string",args:[]},"Unescape Unicode Characters":{description:"Converts unicode-escaped character notation back into raw characters.<br><br>Supports the prefixes:<ul><li><code>\\u</code></li><li><code>%u</code></li><li><code>U+</code></li></ul>e.g. <code>\\u03c3\\u03bf\\u03c5</code> becomes <code>\u03c3\u03bf\u03c5</code>",run:Unicode.runUnescape,inputType:"string",outputType:"string",args:[{name:"Prefix",type:"option",value:Unicode.PREFIXES}]},"From Quoted Printable":{description:"Converts QP-encoded text back to standard text.",run:QuotedPrintable.runFrom,inputType:"string",outputType:"byteArray",arLine truncated
|
||||
run:Extract.runMac,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract URLs":{description:"Extracts Uniform Resource Locators (URLs) from the input. The protocol (http, ftp etc.) is required otherwise there will be far too many false positives.",run:Extract.runUrls,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract domains":{description:"Extracts domain names with common Top-Level Domains (TLDs).<br>Note that this will not include paths. Use <strong>Extract URLs</strong> to find entire URLs.",run:Extract.runDomains,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract file paths":{description:"Extracts anything that looks like a Windows or UNIX file path.<br><br>Note that if UNIX is selected, there will likely be a lot of false positives.",run:Extract.runFilePaths,inputType:"string",outputType:"string",args:[{name:"Windows",type:"boolean",value:Extract.INCLUDE_WIN_PATH},{name:"UNIX",type:"boolean",value:Extract.INCLUDE_UNIX_PATH},{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract dates":{description:"Extracts dates in the following formats<ul><li><code>yyyy-mm-dd</code></li><li><code>dd/mm/yyyy</code></li><li><code>mm/dd/yyyy</code></li></ul>Dividers can be any of /, -, . or space",run:Extract.runDates,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Regular expression":{description:"Define your own regular expression (regex) to search the input data with, optionally choosing from a list of pre-defined patterns.",run:StrUtils.runRegex,manualBake:!0,inputType:"string",outputType:"html",args:[{name:"Built in regexes",type:"populateOption",value:StrUtils.REGEX_PRE_POPULATE,target:1},{name:"Regex",type:"text",value:""},{name:"Case insensitive",type:"boolean",value:StrUtils.REGEX_CASE_INSENSITIVE},{name:"Multiline matching",type:"boolean",value:StrUtils.REGEX_MULTILINE_MATCHING},{name:"Display total",type:"boolean",value:StrUtils.DISPLAY_TOTAL},{name:"Output format",type:"option",value:StrUtils.OUTPUT_FORMAT}]},"XPath expression":{description:"Extract information from an XML document with an XPath query",run:Code.runXpath,inputType:"string",outputType:"string",args:[{name:"XPath",type:"string",value:Code.XPATH_INITIAL},{name:"Result delimiter",type:"binaryShortString",value:Code.XPATH_DELIMITER}]},"CSS selector":{description:"Extract information from an HTML document with a CSS selector",run:Code.runCSSQuery,inputType:"string",outputType:"string",args:[{name:"CSS selector",type:"string",value:Code.CSS_SELECTOR_INITIAL},{name:"Delimiter",type:"binaryShortString",value:Code.CSS_QUERY_DELIMITER}]},"From UNIX Timestamp":{description:"Converts a UNIX timestamp to a datetime string.<br><br>e.g. <code>978346800</code> becomes <code>Mon 1 January 2001 11:00:00 UTC</code>",run:DateTime.runFromUnixTimestamp,inputType:"number",outputType:"string",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"To UNIX Timestamp":{description:"Parses a datetime string and returns the corresponding UNIX timestamp.<br><br>e.g. <code>Mon 1 January 2001 11:00:00 UTC</code> becomes <code>978346800</code>",run:DateTime.runToUnixTimestamp,inputType:"string",outputType:"number",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"Translate DateTime Format":{description:"Parses a datetime string in one format and re-writes it in another.<br><br>Run with no input to see the relevant format string examples.",run:DateTime.runTranslateFormat,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES},{name:"Output format string",type:"binaryString",value:DateTime.OUTPUT_FORMAT_STRING},{name:"Output timezone",type:"option",value:DateTime.TIMEZONES}]},"Parse DateTime":{description:"Parses a DateTime string in your specified format and displays it in whichever timezone you choose with the following information:<ul><li>Date</li><li>Time</li><li>Period (AM/PM)</li><li>Timezone</li><li>UTC offset</li><li>Daylight Saving Time</li><li>Leap year</li><li>Days in this month</li><li>Day of year</li><li>Week number</li><li>Quarter</li></ul>Run with no input to see format string examples if required.",run:DateTime.runParse,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES}]},"Convert distance":{description:"Converts a unit of distance to another format.",run:Convert.runDistance,inputType:"number",outputType:"number",Line truncated
|
||||
},ControlsWaiter.prototype.slrCheckChange=function(){this.initialiseSaveLink()},ControlsWaiter.prototype.sliCheckChange=function(){this.initialiseSaveLink()},ControlsWaiter.prototype.loadClick=function(){this.populateLoadRecipesList(),$("#load-modal").modal()},ControlsWaiter.prototype.saveButtonClick=function(){var a=document.getElementById("save-name").value,b=document.getElementById("save-text").value;if(!a)return void this.app.alert("Please enter a recipe name","danger",2e3);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=localStorage.recipeId||0;c.push({id:++d,name:a,recipe:b}),localStorage.savedRecipes=JSON.stringify(c),localStorage.recipeId=d,this.app.alert('Recipe saved as "'+a+'".',"success",2e3)},ControlsWaiter.prototype.populateLoadRecipesList=function(){for(var a=document.getElementById("load-name"),b=a.options.length;b--;)a.remove(b);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];for(b=0;b<c.length;b++){var d=document.createElement("option");d.value=c[b].id,d.innerHTML=c[b].name,a.appendChild(d)}document.getElementById("load-text").value=c.length?c[0].recipe:""},ControlsWaiter.prototype.loadDeleteClick=function(){var a=parseInt(document.getElementById("load-name").value,10),b=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];b=b.filter(function(b){return b.id!==a}),localStorage.savedRecipes=JSON.stringify(b),this.populateLoadRecipesList()},ControlsWaiter.prototype.loadNameChange=function(a){var b=a.target,c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=parseInt(b.value,10),e=c.filter(function(a){return a.id===d})[0];document.getElementById("load-text").value=e.recipe},ControlsWaiter.prototype.loadButtonClick=function(){try{var a=JSON.parse(document.getElementById("load-text").value);this.app.setRecipeConfig(a),$("#rec-list [data-toggle=popover]").popover()}catch(a){this.app.alert("Invalid recipe","danger",2e3)}},ControlsWaiter.prototype.supportButtonClick=function(){var a=document.getElementById("report-bug-info"),b=this.generateStateUrl(!0,!0,null,"https://gchq.github.io/CyberChef/");a.innerHTML="* CyberChef compile time: 21/03/2017 23:08:31 UTC\n* User-Agent: \n"+navigator.userAgent+"\n* [Link to reproduce]("+b+")\n\n"};var HighlighterWaiter=function(a){this.app=a,this.mouseButtonDown=!1,this.mouseTarget=null};HighlighterWaiter.INPUT=0,HighlighterWaiter.OUTPUT=1,HighlighterWaiter.prototype._isSelectionBackwards=function(){var a=!1,b=window.getSelection();if(!b.isCollapsed){var c=document.createRange();c.setStart(b.anchorNode,b.anchorOffset),c.setEnd(b.focusNode,b.focusOffset),a=c.collapsed,c.detach()}return a},HighlighterWaiter.prototype._getOutputHtmlOffset=function(a,b){var c=window.getSelection(),d=document.createRange();return d.selectNodeContents(document.getElementById("output-html")),d.setEnd(a,b),c.removeAllRanges(),c.addRange(d),c.toString().length},HighlighterWaiter.prototype._getOutputHtmlSelectionOffsets=function(){var a,b=window.getSelection(),c=0,d=0,e=!1;return b.rangeCount&&(a=b.getRangeAt(b.rangeCount-1),e=this._isSelectionBackwards(),c=this._getOutputHtmlOffset(a.startContainer,a.startOffset),d=this._getOutputHtmlOffset(a.endContainer,a.endOffset),b.removeAllRanges(),b.addRange(a),e&&(b.collapseToEnd(),b.extend(b.anchorNode,a.startOffset))),{start:c,end:d}},HighlighterWaiter.prototype.inputScroll=function(a){var b=a.target;document.getElementById("input-highlighter").scrollTop=b.scrollTop,document.getElementById("input-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.outputScroll=function(a){var b=a.target;document.getElementById("output-highlighter").scrollTop=b.scrollTop,document.getElementById("output-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.inputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.INPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("input-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightOutput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightInput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputHtmlMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT;var b=this._getOutputHtmlSelectionOffsets();0===b.start&&0===b.end||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(b.start,b.end))},HighlighterWaiter.prototype.inputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputHtmlMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.inputMousemove=funcLine truncated
|
||||
this.addDynamicListener(".op-list","oplistcreate",this.ops.opListCreate,this.ops),this.addDynamicListener("li.operation","operationadd",this.recipe.opAdd.bind(this.recipe)),this.addDynamicListener(".arg","keyup",this.recipe.ingChange,this.recipe),this.addDynamicListener(".arg","change",this.recipe.ingChange,this.recipe),this.addDynamicListener(".disable-icon","click",this.recipe.disableClick,this.recipe),this.addDynamicListener(".breakpoint","click",this.recipe.breakpointClick,this.recipe),this.addDynamicListener("#rec-list li.operation","dblclick",this.recipe.operationDblclick,this.recipe),this.addDynamicListener("#rec-list li.operation > div","dblclick",this.recipe.operationChildDblclick,this.recipe),this.addDynamicListener("#rec-list .input-group .dropdown-menu a","click",this.recipe.dropdownToggleClick,this.recipe),this.addDynamicListener("#rec-list","operationremove",this.recipe.opRemove.bind(this.recipe)),this.addMultiEventListener("#input-text","keyup paste",this.input.inputChange,this.input),document.getElementById("reset-layout").addEventListener("click",this.app.resetLayout.bind(this.app)),document.getElementById("clr-io").addEventListener("click",this.input.clearIoClick.bind(this.input)),document.getElementById("input-text").addEventListener("dragover",this.input.inputDragover.bind(this.input)),document.getElementById("input-text").addEventListener("dragleave",this.input.inputDragleave.bind(this.input)),document.getElementById("input-text").addEventListener("drop",this.input.inputDrop.bind(this.input)),document.getElementById("input-text").addEventListener("scroll",this.highlighter.inputScroll.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mouseup",this.highlighter.inputMouseup.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mousemove",this.highlighter.inputMousemove.bind(this.highlighter)),this.addMultiEventListener("#input-text","mousedown dblclick select",this.highlighter.inputMousedown,this.highlighter),document.getElementById("save-to-file").addEventListener("click",this.output.saveClick.bind(this.output)),document.getElementById("switch").addEventListener("click",this.output.switchClick.bind(this.output)),document.getElementById("undo-switch").addEventListener("click",this.output.undoSwitchClick.bind(this.output)),document.getElementById("maximise-output").addEventListener("click",this.output.maximiseOutputClick.bind(this.output)),document.getElementById("output-text").addEventListener("scroll",this.highlighter.outputScroll.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mouseup",this.highlighter.outputMouseup.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mousemove",this.highlighter.outputMousemove.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mouseup",this.highlighter.outputHtmlMouseup.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mousemove",this.highlighter.outputHtmlMousemove.bind(this.highlighter)),this.addMultiEventListener("#output-text","mousedown dblclick select",this.highlighter.outputMousedown,this.highlighter),this.addMultiEventListener("#output-html","mousedown dblclick select",this.highlighter.outputHtmlMousedown,this.highlighter),document.getElementById("options").addEventListener("click",this.options.optionsClick.bind(this.options)),document.getElementById("reset-options").addEventListener("click",this.options.resetOptionsClick.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.switchChange.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.setWordWrap.bind(this.options)),this.addDynamicListener(".option-item input[type=number]","keyup",this.options.numberChange,this.options),this.addDynamicListener(".option-item input[type=number]","change",this.options.numberChange,this.options),this.addDynamicListener(".option-item select","change",this.options.selectChange,this.options),document.getElementById("alert-close").addEventListener("click",this.app.alertCloseClick.bind(this.app))},Manager.prototype.addListeners=function(a,b,c,d){d=d||this,[].forEach.call(document.querySelectorAll(a),function(a){a.addEventListener(b,c.bind(d))})},Manager.prototype.addMultiEventListener=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)document.querySelector(a).addEventListener(e[f],c.bind(d))},Manager.prototype.addMultiEventListeners=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)this.addListeners(a,e[f],c,d)},Manager.prototype.addDynamicListener=function(a,b,c,d){var e={selector:a,callback:c.bind(d||this)};this.dynamicHandlers.hasOwnProperty(b)?this.dynamicHandlers[b].push(e):(this.dynamicHandlers[b]=[e],document.addEventListener(b,this.dynamicListenerHandler.bind(this)))},Manager.prototype.dynamicListenerHandler=function(a){for(var b=this.dynamicHandlers[a.tLine truncated
|
||||
@@ -1,68 +0,0 @@
|
||||
/*!
|
||||
* CyberChef - The Cyber Swiss Army Knife
|
||||
*
|
||||
* @copyright Crown Copyright 2016
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright 2016 Crown Copyright
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*//*! @license
|
||||
========================================================================
|
||||
Bootstrap Colorpicker v2.3.6
|
||||
https://itsjavi.com/bootstrap-colorpicker/
|
||||
|
||||
Originally written by (c) 2012 Stefan Petre
|
||||
Licensed under the Apache License v2.0
|
||||
http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
*/.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}.colorpicker-saturation{width:100px;height:100px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAQAAADa613fAAAP9klEQVR4XnRWC47rNgwcKjlA0bv2VL1Qi/YELRav7203iS1ppqZoiXCAhuBHVLI74xFtG3/Hz2joIOjRGuR5eMYuRn9YA1fds859KX8ZvczLr9/pImiR3Rqky9/wlajRIdVE/1Rufeu/0No3/ASgBZAJUkwgi0iCaEatekJJoEqiTQncd67/gyOfRCZshTed0Nl8LbLj8D6qxtoq9/7kJz/aH/3Xfu8VwI5+AUH8DxE7gUyiIpZ5LwiGzUqE3CScJsCDQHAsvBnxWpkbC0QMHmBp6latWS0bnvrCN/x1+xPfce+Ij0GAyeAGGz15sOiax2UylPhKrFaMPnVWClwepKh07hdhkVDsK2uoyEIySergjdbY2VBtV8VLr8Mf9mF/4wMb7kR8FOhzFWZZe7HIZD9JRIbee28eJKBweTB6TwjYkAgWaUmtDveGw1Wx3zZ76YlPPfQd/+gTTUFkiGiJ+NQAszU1EPT/QJEgufolAMPkNU4CVOyUIBLg4xglEZHGQnTFOFV0VaulYddBhA986ge/7N/yQi/3flFgwfQq2ibLnTDBRl9TmUHyJASPV/eoN0UISIr+ICQKIFV4EpljSjV1uFVUq9hRtet5e9gXvuyHPW0zMhQxWaoBBa9Tg8vsCEhww23Smd0CKjIkmPIoxWrUBDgJqFCyESF43ctQxLUoHN7Q1KyVhqrNNm3cy2vMyQNPVKjc29Rh5SSU+giWdRJHkLnQG71FQEuNyNGBTDdBQQAKCuGiEUS/jcyGbkMPq931OIzb/dUPGuVlG7f+slqkO5NAAlzTMdcq0NkzmsEBmAQkbI+pSHbiqnuWIA6lijhvqwIxMyWxMGZiPU669XJE1tADDTs2HWpwKxuqdnTpOiOR42xlzLtm3pXGel3xd8/oTs8Xy0MV8GM1RlsC2Y3Wy3wut3M+2mEVux0Gt9fhzTWyLvGiiJYaqY5DWRFIwAiQ5r6gB9GpQihJw4I9j5Mkscj3BnzGjBhv8xna5P1Jo428o6IOPY5KFZtVOkEKqUjqQY9Gi+jrIOFwJUDzRtA9xyoIrGGmkNRmxVAnZoK+TkUIeUYni5wEzgOG5iZX5HCr2JyQNqdk++G0rgb1ochSIGutTj4P7F0PuRUAolmh5sCzAHn1BYyaADh6bgFeoBx6vst091CEvcSLWBBpqGq384jZ5llVHSwEShLx+D4d0mU3D5eEAJQ9KEhOZUYnDENV2qKgmIlQhWfdvcoXYaegPp/n1oKIOgYFqxrzQSciqNhv/5FqPpy6b0UcX2vf13DfWySRSEgkEYlEJJGQSyKJSEQSCYlEEpHexIVO3XOevffze2a+PfPv9x1rne1c3b3Mmlmz9mE++zuzngfnw/E+Dlc4LL4NwHdFy7u3KGPVmZ6/4eeMoDyre3i/KHADIHYO04w9zO0mAotuKnrc7XaPjvu66bNe5cDT7RlPepEnfS2X8dF1/utDvD+OwGDBxEgQywLCvIMYWBY+DShwAAORAdv9PswhDAqOUCi5+71AbFcDMR4xBDNfhySKXPXZ1+Vub+Q1Ltf5z7eC0AjVldHI26rIFdKIAyYBJCFVUhVDwttAnM52B3Ect1TFQXzJ0z33lOuib/QO8g+CuO0gKBRU80A8hkeJ0b1KRQWmFQVSh8mf3lpUpNaRulzN5NArrmKKGMijXgzk7w5ijdFVgT8f1IdFNjVWjDWicUYWEEMmSFDtILdzHW5XueHp7p+yuS54ep5/c5BE2Gw/gWPNYU4/PZaak2VGEsFjSbOf8irea6KQgojGCk0KxZY31tWWgzwayF8N5KYyo3VADVicWWrhwzr3ZqIOa5xW5zbqMPPMiyDURHDIHQTeWq7KFXcQPOqzPOL5Ov/iIDEDy7DHEwx0PTgjO8SS0fOEHcZNMt+XKEFMj8Q4QUSvPu6HPuvd4N9/x12RPwcIVRCAakSOUzHgsUSMFWYzDQ+PiOJqAOuYc9jh5TecnA+xHfFyOYhebeTH89P80wrCJzUjlsx7euIV0g4zQFUSiBPioIWBACFC7GgDj8P91ZSJOQmQP74MAnQo8H5RIe8kZ0kBcQCMAlEpRDiKROBxbR0ksdhWFq0gR9q9uQzkDzuIFQSPqAgRCAsCaVNF2ZAAhxvtzcqcnDk6tpXxSsayqXLIgSOb6zqeH+fvO0i9XEu5EVV+OZehRZJ6BGTeaRhCkTzVIZeAzaWGAFfErIPogQI5CuR3HQQx7DzBB16R3s7e0MBUPedjWutgG/JUTPqMeAQNEiytJRnJearWUgdwFNxN7rtBoECuj/O3BMHaTIxQ0a4GctireElTJHJvLTaalih5kvBCGMvkdESUMAdCFaI4yG8SpDfRWAptqkAJUwCG6B7lOREFSZBqKs57MEHqVJEBwHa2lp0OiKtiQ18gx9P89QrSXyc0vObBM4vPmBADqJZLAo/yzK7qPSZstCy+fDSZlhrm+Zkyjsf5q2otdC14zkLjHLf0me9wjNqQo0B1a6wBJRaIEgC2Qw9oby/cRHA+xHCQy/xlB1HVSV3Y/5yVhsc7dBi2UoIWCMcbELZWgxNCGUZ5y4ceBaLlE8dAfrEosrYT+z8ya3sxXndFBxuQivNGEHFCbLGBlBLKGYHZoeoQpcjtMn/uICPefcxecpuDOEemg9S/44cflZPIlWolyHkLrEpgbS9IQRlAgZgi0WDjsEiPh+PN/Fkogq4GdzPtarlRGW2tJwEK1RMTEvdVdmhAKHO1pdUuGQsVcX+rSfGzDbwGyE8NRPQc83HCaOkTZwPqABZBdFq8zAN1gue0FPO8wYUFBE1WkMwVzM1iQ4BItFh+H36Qy/yJg0DRQICmBl+tbKUC5cCj3yXI+SUFBS78ZAcBtHt+e9lBuiqpTNh9zTvIjzuIWxVYGQJpAZY+VWS3QKh84iSZbwuIdiDpc4KztQa/sjhMaDJEJDSZ8mZ+kCBdC0JpKVNQzZdKu+EsOeFCosrngVAkDS/uy6iGnW7UxmMpkB8FyFKo6iQW8z1HuBdMu1pdkZdB8jWTjlFtNaiJRYniIDcD+eECMqFLS9ED6DgxzCMKnRD3HYYA2uMCJUh70OK8G0EUnJV8lqe8nj84QdqLhdoJskNlEw1ivajM8LtPBhIeN99LESXI9xcQIHFQudHngZjUhXOQeGlUYmAddh5pxMhzV0M1vMAtMFIVmfp6fq+DgEWefjQVenstaqUy3bJQAiVlEihDghCDINFQg8oUhoQPkO8SBEM7SFQ72VYBwPuE7k8uYF5LNwg/TEd2zkuKjIIhTiJRlYrDfNS1QL7DYUcbcCyKJNwOwucVCVSwBBj/DwghXA2hQtACgCBBPprfXkAIFIYRXhONQARFU00Tsh6LEmmQUbkTImMi9me5qaHDIeBgHeRbdxAIqAJBCDSoCNVQglrciqX/ZCD9RRP6rgpBvhmKAFhg2ForBLXBYPtUjj7vCHPe8SXbYAY47gHB9mKeqjjIg/53fmMD0fR9Bug7SFcHI6EA1OC/E8QTL4NgBSGiCiyTChnI1zcQxmyfRZGM6w701KRybDvsIK3LWDx6mxGkcglEZQLkawnCdppZ6sgCh8trWWBUQaUWCEOlOs7HAenFE45QSu9RQQDAqchXNxDq4orQR44qRIFUQvM+mRJuB6GDEixgCbSBQGXghEEbdn1P/zO/QhAWCsWsmRhLa2VFkSZIgSVKmgEQhvk6K8YKMRZl7Dwg4amOUYvFBfLlE4RasOCB5S9PXKq0AqGDMiYIReXF0mYctITWBmqR5F38X5Y7yJfeCtKBzNbWYm5XpsMpf3dRZD3jPDesvdVCOs6KYQXIFw1E4fcE8dHWOepZBXpLJcACWUZVMRZbfvgXR4Ak8A7VVSKSVuu9p6/mFxyE7cOWavtLp952O8huK83+gmHzHaAsVXLgAvl8gPCvHzAFsM8GNXGKPH5cmN02sXTLa8QdKRXMzHv67/k5A9k1UIx36UH/VlWWtuKssNiRapB6BaLXl6MA+ayDcNS3v/sYXgCL620F1kk8QhKAEOvKu4DvajDO5zkHc4fBg76anyEIIcamBPex5EK8AoVHhMW7QAqWrYD1204CJB1hCfOAV/PTBPH0zBmJmsZZKCEaAmdqm4zMcYxYLN0JuHThIAjirAnp3px7TRgD+ZSD/K92M1CNIgbC8Ex7FkSEIlQEEUQEQQQBRBABEUQQEQTx3X0Evap9AhP39jL5OvuzAWuvbDaTTDIzX2aypUCJ0i7nAigoQAk9gUIUSxXEoCFyyVIuL9ZQcMZoArnwr4D0OLS8jGNGTgGnsZQWMYrcOARoIReAALBeWhf+RUCAIEsECFQHLkwR5zj4JW3t5WOUU5djvgQIawD53EDsctmYz8xGaZGPBUR3qNkiGwqDICUYIFpqBgRaayCfFiAWR2wWvoobmzxdF8N5kyxXmvap/sgGcLF/aoBosbG+lE395R8zCA4BqUYgOgYq+HtvBrT0LK15X8lZwx5f9klCX0rdgXzIIGbdhXMqZtHzJhuptEjmsFc4KzmN5IFPtfM7gWw2kPczSIqQSPUDYKYBMamsBCpKphW0iA5H8AbMDPJOQYjLZg1Vk4G49GlCYNYAkdOd0kwRQ8FCyAHydgLZ6Z2AqrVtjDUQ7hCEmrkEooDAsB2YnBCvkBpZ6yBvJpCd7Mn5zJ6C4QF2BUQPgHEIGUrGnHzQ8rlMekBeTyAzwDJksxwM4+w3BY02B8mIl0CmFRm+ZscxAuSnvwqQsECTIGSV6FEoJFTygVuLine truncated
|
||||
========================================================================
|
||||
bootstrap-switch - v3.1.0
|
||||
http://www.bootstrap-switch.org
|
||||
Copyright 2012-2013 Mattia Larentis
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/.bootstrap-switch{cursor:pointer;border:1px solid #ccc;text-align:left;overflow:hidden;line-height:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;min-width:100px;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch.bootstrap-switch-mini{min-width:71px}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding-bottom:4px;padding-top:4px;font-size:10px;line-height:9px}.bootstrap-switch.bootstrap-switch-small{min-width:79px}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding-bottom:3px;padding-top:3px;font-size:12px;line-height:18px}.bootstrap-switch.bootstrap-switch-large{min-width:120px}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding-bottom:9px;padding-top:9px;font-size:16px;line-height:normal}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-indeterminate,.bootstrap-switch.bootstrap-switch-readonly{opacity:.5;filter:alpha(opacity=50);cursor:default!important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label{cursor:default!important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-radius:0 3px 3px 0}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-radius:3px 0 0 3px}.bootstrap-switch.bootstrap-switch-focused{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-container,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-container{margin-left:0}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-container,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-container{margin-left:-50%}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-container,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-indeterminate .bootstrap-switch-container{margin-left:-25%}.bootstrap-switch .bootstrap-switch-container{display:inline-block;width:150%;top:0;border-radius:4px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block!important;height:100%;padding-bottom:4px;padding-top:4px;font-size:14px;line-height:20px}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on{text-align:center;z-index:1;width:33.333333333%}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{color:#fff;background:#428bca}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{color:#fff;background:#5bc0de}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{color:#fff;background:#5cb85c}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch .boLine truncated
|
||||
========================================================================
|
||||
Bootstrap v3.3.6 (http://getbootstrap.com)
|
||||
Copyright 2011-2016 Twitter, Inc.
|
||||
Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
|
||||
normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css
|
||||
*/html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.glyphicon,address{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.dropdown-menu,.modal-content{-webkit-background-clip:padding-box}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e03Line truncated
|
||||
========================================================================
|
||||
StyleSheet for Google Code Prettify
|
||||
Copyright (C) 2006 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.clo,.opn,.pun{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.kwd,.tag,.typ{font-weight:700}.str{color:#060}.kwd{color:#006}.com{color:#600;font-style:italic}.typ{color:#404}.lit{color:#044}.clo,.opn,.pun{color:#440}.tag{color:#006}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}#content-wrapper{top:0;left:0;width:100%;height:100%}#banner{height:30px;width:100%;text-align:center;line-height:30px}#wrapper{top:30px;bottom:0;width:100%}div#operations,div#recipe{width:50%;height:100%}div#input,div#output{width:100%;height:50%}.title{padding:10px;height:43px}.textarea-wrapper{top:43px;bottom:0;width:100%;overflow:hidden}#output-html,textarea{width:100%;height:100%;border:none;padding:3px;-moz-padding-start:3px;-moz-padding-end:3px}#input-text,#output-html,#output-text{position:relative;border-width:0;margin:0;resize:none;background-color:transparent;white-space:pre-wrap;word-wrap:break-word}#output-html{display:none;overflow-y:auto;-moz-padding-start:1px}.split{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:auto;position:relative}.gutter.gutter-horizontal,.split.split-horizontal{height:100%;float:left}#input-highlighter,#output-highlighter{position:absolute;left:0;top:0;width:100%;height:100%;padding:3px;margin:0;overflow:hidden;letter-spacing:normal;white-space:pre-wrap;word-wrap:break-word;color:#fff;background-color:transparent;border:none}#op-list,#rec-list,.op-list{margin:0;padding:0;list-style-type:none}#op-list,#rec-list{position:absolute;top:43px;bottom:0;width:100%}.io-btn-group,.io-info{margin-top:-4px;float:right}#rec-list{bottom:120px;overflow:auto}.operation{cursor:pointer;padding:10px;list-style-type:none;position:relative}#controls{position:absolute;width:100%;height:120px;bottom:0;padding:10px}.io-info{margin-right:20px;height:30px;text-align:right;line-height:10px}.arg-group,.inline-args input[type=checkbox]{margin-top:10px}#input-info{line-height:15px}.arg-group{display:table;width:100%}.arg-group-text{display:block}.inline-args{float:left;width:auto;margin-right:30px;height:34px}.inline-args input[type=number]{width:100px}.arg-input{display:table-cell;width:100%;padding:6px 12px}.short-string{width:150px}select{display:block}.arg[disabled]{cursor:not-allowed;opacity:1}textarea.arg{width:100%;min-height:50px;height:70px;margin-top:5px;border:1px solid #ddd;resize:vertical}.arg-label{display:table-cell;width:1px;padding-right:10px;font-weight:400;white-space:pre}.title,optgroup{font-weight:700}.editable-option{position:relative;display:inline-block}.editable-option-select{min-width:250px}.editable-option-input{position:absolute;top:1px;left:1px;width:calc(100% - 20px);height:calc(100% - 2px)!important;border:none!important}#operational-controls{width:65%;float:left;text-align:center}#bake-group{display:table;width:100%}#bake{display:table-cell;width:100%;border-top-right-radius:0;border-bottom-right-radius:0}#auto-bake-label{display:table-cell;padding:1px;line-height:1.35;width:60px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #5cb85c}#auto-bake-label:hover{border-left-color:#398439}#auto-bake-label div{font-size:10px;padding:2px}#extra-controls{float:right;width:35%;padding-left:10px}.op-icon{float:right;margin-left:10px;margin-top:3px}.recip-icons{position:absolute;top:13px;right:10px;height:16px}.recip-icon{margin-right:10px;vertical-align:baseline;float:right}.disable-icon{width:16px;height:16px;margin-top:-1px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAACfElEQVQ4y6WTPWgTYRjHf8nlfVvuoDVIP4Yuki4WHKoUqggFRUTsUEGkVG2hmCq6OnTwIxYHB+eijZOKdLNDW1pKKyGigh8dBHUJElxyBgx3vEnukvdyDrUhRXDxGR+e/+/583xEwjDkfyIGwNVTzURm4tYAMA6MAoN/0tvAMrA48uL+l2bx4w0iYRjSuHKC6OnTZLqHk8CcaZq9bW1tSCkBqNVq+L5PpVIpAHdGfr5LN9bXiT7Z2nGgteb1/qFkLBJZ6OjowHEc8vk8pVIJgHg8TldXF52dnb2u6y5s7R/iuF5JSyAKkLl4eyAMwznLsrBtm1wu99Z13amk+BFJih8R13WXANrb27EsizAM5zIXbw+wC9Baj0spe5VSFAqFt4ZhXJ6ufXuK55E5cDKVSCTGenp6yGazKKWQUvZqrcebgCAIRqWUOI6DEOLR1K8POapVMgfPpoC7u2LLspYcx0FKSRAEo60OBg3DwPd9Jr5vPqWvj8zh83vEwL2J75vnfN/HMAy01oPNNQZBQBAEO1OvVsl0D/8lTuZfpYDd7gRBQKuD7XK5jGmarB679PIv8deVFJUKq8cuTZqmSblcRmu93QpYVkohhMCyrLE94n2/UlSrbJy5kRBCXBNCoJRCa73cClh0XbfgeR6WZZHNZunv719KvnmeYnWVVxdmJ2Ox2DMhxFHP83Bdt6C1XgR2LvHzQDvvb84npZQL8Xgc0zSJRqN7br7RaFCpVCiVStRqtZmhh9fTh754TQdMr82nPc+bsW27UCwWUUpRr9ep1+sopSgWi9i2XfA8b2Z6bT6ttabp4GMi0uz0aXbhn890+MFM85mO5MIdwP/Eb1pMUCdctYRzAAAAAElFTkSuQmCC) no-repeat}.disable-icon-selected{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVR4XqWTP0tbURjGn9zY3mjBwLine truncated
|
||||
+48
-9
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cyberchef",
|
||||
"version": "4.0.0",
|
||||
"version": "5.0.1",
|
||||
"description": "CyberChef is a simple, intuitive web app for analysing and decoding data within a web browser.",
|
||||
"author": "n1474335 <n1474335@gmail.com>",
|
||||
"homepage": "https://gchq.github.io/CyberChef",
|
||||
@@ -26,21 +26,60 @@
|
||||
"url": "https://github.com/gchq/CyberChef/"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "~1.0.1",
|
||||
"babel-core": "^6.24.0",
|
||||
"babel-loader": "^6.4.0",
|
||||
"babel-polyfill": "^6.23.0",
|
||||
"babel-preset-env": "^1.2.2",
|
||||
"css-loader": "^0.27.3",
|
||||
"exports-loader": "^0.6.4",
|
||||
"extract-text-webpack-plugin": "^2.1.0",
|
||||
"file-loader": "^0.10.1",
|
||||
"grunt": ">=0.4.5",
|
||||
"grunt-chmod": "~1.1.1",
|
||||
"grunt-contrib-clean": "~1.0.0",
|
||||
"grunt-contrib-concat": "~1.0.0",
|
||||
"grunt-contrib-copy": "~1.0.0",
|
||||
"grunt-contrib-cssmin": "~1.0.2",
|
||||
"grunt-contrib-htmlmin": "~2.0.0",
|
||||
"grunt-contrib-uglify": "~2.0.0",
|
||||
"grunt-contrib-watch": "~1.0.0",
|
||||
"grunt-eslint": "^19.0.0",
|
||||
"grunt-exec": "~1.0.1",
|
||||
"grunt-execute": "^0.2.2",
|
||||
"grunt-inline-alt": "~0.3.10",
|
||||
"grunt-jsdoc": "^2.1.0",
|
||||
"grunt-webpack": "^2.0.1",
|
||||
"html-webpack-plugin": "^2.28.0",
|
||||
"imports-loader": "^0.7.1",
|
||||
"ink-docstrap": "^1.1.4",
|
||||
"phantomjs-prebuilt": "^2.1.14"
|
||||
"less": "^2.7.2",
|
||||
"less-loader": "^4.0.2",
|
||||
"style-loader": "^0.15.0",
|
||||
"url-loader": "^0.5.8",
|
||||
"web-resource-inliner": "^4.1.0",
|
||||
"webpack": "^2.2.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"bootstrap": "^3.3.7",
|
||||
"bootstrap-colorpicker": "^2.5.1",
|
||||
"bootstrap-switch": "^3.3.4",
|
||||
"crypto-api": "^0.6.2",
|
||||
"crypto-js": "^3.1.9-1",
|
||||
"diff": "^3.2.0",
|
||||
"escodegen": "^1.8.1",
|
||||
"esmangle": "^1.0.1",
|
||||
"esprima": "^3.1.3",
|
||||
"google-code-prettify": "^1.0.5",
|
||||
"jquery": "^3.1.1",
|
||||
"jsbn": "^1.1.0",
|
||||
"jsrsasign": "^7.1.0",
|
||||
"moment": "^2.17.1",
|
||||
"moment-timezone": "^0.5.11",
|
||||
"sladex-blowfish": "^0.8.1",
|
||||
"sortablejs": "^1.5.1",
|
||||
"split.js": "^1.2.0",
|
||||
"vkbeautify": "^0.99.1",
|
||||
"xmldom": "^0.1.27",
|
||||
"xpath": "0.0.24",
|
||||
"zlibjs": "^0.2.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "grunt prod",
|
||||
"test": "grunt test",
|
||||
"docs": "grunt docs"
|
||||
}
|
||||
}
|
||||
@@ -3,13 +3,13 @@
|
||||
"ecmaVersion": 6,
|
||||
"ecmaFeatures": {
|
||||
"impliedStrict": true
|
||||
}
|
||||
},
|
||||
"sourceType": "module"
|
||||
},
|
||||
"env": {
|
||||
"browser": true,
|
||||
"jquery": true,
|
||||
"es6": true,
|
||||
"node": false
|
||||
"node": true
|
||||
},
|
||||
"extends": "eslint:recommended",
|
||||
"rules": {
|
||||
@@ -28,7 +28,11 @@
|
||||
// modify rules from base configurations
|
||||
"no-unused-vars": ["error", {
|
||||
"args": "none",
|
||||
"vars": "local"
|
||||
"vars": "local",
|
||||
// Allow vars that start with a capital letter to be unused.
|
||||
// This is mainly for exported module names which are useful to indicate
|
||||
// the name of the module and may be used to refer to itself in future.
|
||||
"varsIgnorePattern": "^[A-Z]"
|
||||
}],
|
||||
"no-empty": ["error", {
|
||||
"allowEmptyCatch": true
|
||||
@@ -83,36 +87,11 @@
|
||||
"space-in-parens": "error"
|
||||
},
|
||||
"globals": {
|
||||
/* core/* */
|
||||
"Chef": false,
|
||||
"Dish": false,
|
||||
"Recipe": false,
|
||||
"Ingredient": false,
|
||||
"Operation": false,
|
||||
"Utils": false,
|
||||
|
||||
/* config/* */
|
||||
"Categories": false,
|
||||
"OperationConfig": false,
|
||||
|
||||
/* views/html/* */
|
||||
"HTMLApp": false,
|
||||
"HTMLCategory": false,
|
||||
"HTMLOperation": false,
|
||||
"HTMLIngredient": false,
|
||||
"Manager": false,
|
||||
"ControlsWaiter": false,
|
||||
"HighlighterWaiter": false,
|
||||
"InputWaiter": false,
|
||||
"OperationsWaiter": false,
|
||||
"OptionsWaiter": false,
|
||||
"OutputWaiter": false,
|
||||
"RecipeWaiter": false,
|
||||
"SeasonalWaiter": false,
|
||||
"WindowWaiter": false,
|
||||
"$": false,
|
||||
"jQuery": false,
|
||||
"moment": false,
|
||||
|
||||
/* tests */
|
||||
"TestRegister": false,
|
||||
"TestRunner": false
|
||||
"COMPILE_TIME": false,
|
||||
"COMPILE_MSG": false
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,7 @@
|
||||
import Dish from "./Dish.js";
|
||||
import Recipe from "./Recipe.js";
|
||||
|
||||
|
||||
/**
|
||||
* The main controller for CyberChef.
|
||||
*
|
||||
@@ -20,7 +24,7 @@ var Chef = function() {
|
||||
* @param {Object} options - The options object storing various user choices
|
||||
* @param {boolean} options.attempHighlight - Whether or not to attempt highlighting
|
||||
* @param {number} progress - The position in the recipe to start from
|
||||
* @param {number} [step] - The number of operations to execute
|
||||
* @param {number} [step] - Whether to only execute one operation in the recipe
|
||||
*
|
||||
* @returns {Object} response
|
||||
* @returns {string} response.result - The output of the recipe
|
||||
@@ -118,3 +122,5 @@ Chef.prototype.silentBake = function(recipeConfig) {
|
||||
}
|
||||
return new Date().getTime() - startTime;
|
||||
};
|
||||
|
||||
export default Chef;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "./Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* The data being operated on by each operation.
|
||||
*
|
||||
@@ -200,3 +203,5 @@ Dish.prototype.valid = function() {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
export default Dish;
|
||||
@@ -1,3 +1,7 @@
|
||||
import Recipe from "./Recipe.js";
|
||||
import Dish from "./Dish.js";
|
||||
|
||||
|
||||
/**
|
||||
* Flow Control operations.
|
||||
*
|
||||
@@ -7,7 +11,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var FlowControl = {
|
||||
const FlowControl = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -190,3 +194,5 @@ var FlowControl = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default FlowControl;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "./Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* The arguments to operations.
|
||||
*
|
||||
@@ -83,3 +86,5 @@ Ingredient.prepare = function(data, type) {
|
||||
return data;
|
||||
}
|
||||
};
|
||||
|
||||
export default Ingredient;
|
||||
@@ -1,3 +1,7 @@
|
||||
import Dish from "./Dish.js";
|
||||
import Ingredient from "./Ingredient.js";
|
||||
|
||||
|
||||
/**
|
||||
* The Operation specified by the user to be run.
|
||||
*
|
||||
@@ -155,3 +159,5 @@ Operation.prototype.isDisabled = function() {
|
||||
Operation.prototype.isFlowControl = function() {
|
||||
return this.flowControl;
|
||||
};
|
||||
|
||||
export default Operation;
|
||||
@@ -1,3 +1,7 @@
|
||||
import Operation from "./Operation.js";
|
||||
import OperationConfig from "./config/OperationConfig.js";
|
||||
|
||||
|
||||
/**
|
||||
* The Recipe controls a list of Operations and the Dish they operate on.
|
||||
*
|
||||
@@ -212,3 +216,5 @@ Recipe.prototype.fromString = function(recipeStr) {
|
||||
var recipeConfig = JSON.parse(recipeStr);
|
||||
this._parseConfig(recipeConfig);
|
||||
};
|
||||
|
||||
export default Recipe;
|
||||
@@ -1,4 +1,5 @@
|
||||
/* globals CryptoJS, moment */
|
||||
import CryptoJS from "crypto-js";
|
||||
|
||||
|
||||
/**
|
||||
* Utility functions for use in operations, the core framework and the stage.
|
||||
@@ -9,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Utils = {
|
||||
const Utils = {
|
||||
|
||||
/**
|
||||
* Translates an ordinal into a character.
|
||||
@@ -387,7 +388,7 @@ var Utils = {
|
||||
var wordArray = CryptoJS.enc.Utf8.parse(str),
|
||||
byteArray = Utils.wordArrayToByteArray(wordArray);
|
||||
|
||||
if (str.length !== wordArray.sigBytes)
|
||||
if (window && str.length !== wordArray.sigBytes)
|
||||
window.app.options.attemptHighlight = false;
|
||||
return byteArray;
|
||||
},
|
||||
@@ -439,7 +440,7 @@ var Utils = {
|
||||
var wordArray = new CryptoJS.lib.WordArray.init(words, byteArray.length),
|
||||
str = CryptoJS.enc.Utf8.stringify(wordArray);
|
||||
|
||||
if (str.length !== wordArray.sigBytes)
|
||||
if (window && str.length !== wordArray.sigBytes)
|
||||
window.app.options.attemptHighlight = false;
|
||||
return str;
|
||||
} catch (err) {
|
||||
@@ -1185,35 +1186,7 @@ var Utils = {
|
||||
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* A jQuery function to select a range of text.
|
||||
*
|
||||
* @param {number} start
|
||||
* @param {number} end
|
||||
*
|
||||
* @example
|
||||
* // Highlights the 4th, 5th and 6th characters in the element #input-text.
|
||||
* $("#input-text").selectRange(3,5);
|
||||
*
|
||||
* // Places the cursor at the beginning of the element #input-text.
|
||||
* $("#input-text").selectRange(0);
|
||||
*/
|
||||
$.fn.selectRange = function(start, end) {
|
||||
if (!end) end = start;
|
||||
return this.each(function() {
|
||||
if (this.setSelectionRange) {
|
||||
this.focus();
|
||||
this.setSelectionRange(start, end);
|
||||
} else if (this.createTextRange) {
|
||||
var range = this.createTextRange();
|
||||
range.collapse(true);
|
||||
range.moveEnd("character", end);
|
||||
range.moveStart("character", start);
|
||||
range.select();
|
||||
}
|
||||
});
|
||||
};
|
||||
export default Utils;
|
||||
|
||||
|
||||
/**
|
||||
@@ -17,7 +17,7 @@
|
||||
* @constant
|
||||
* @type {CatConf[]}
|
||||
*/
|
||||
var Categories = [
|
||||
const Categories = [
|
||||
{
|
||||
name: "Favourites",
|
||||
ops: []
|
||||
@@ -293,3 +293,5 @@ var Categories = [
|
||||
]
|
||||
},
|
||||
];
|
||||
|
||||
export default Categories;
|
||||
@@ -1,8 +1,41 @@
|
||||
/*
|
||||
* Tell eslint to ignore "'Object' is not defined" errors in this file, as it references every
|
||||
* single operation object by definition.
|
||||
*/
|
||||
/* eslint no-undef: "off" */
|
||||
import FlowControl from "../FlowControl.js";
|
||||
import Base from "../operations/Base.js";
|
||||
import Base58 from "../operations/Base58.js";
|
||||
import Base64 from "../operations/Base64.js";
|
||||
import BitwiseOp from "../operations/BitwiseOp.js";
|
||||
import ByteRepr from "../operations/ByteRepr.js";
|
||||
import CharEnc from "../operations/CharEnc.js";
|
||||
import Checksum from "../operations/Checksum.js";
|
||||
import Cipher from "../operations/Cipher.js";
|
||||
import Code from "../operations/Code.js";
|
||||
import Compress from "../operations/Compress.js";
|
||||
import Convert from "../operations/Convert.js";
|
||||
import DateTime from "../operations/DateTime.js";
|
||||
import Endian from "../operations/Endian.js";
|
||||
import Entropy from "../operations/Entropy.js";
|
||||
import Extract from "../operations/Extract.js";
|
||||
import FileType from "../operations/FileType.js";
|
||||
import Hash from "../operations/Hash.js";
|
||||
import Hexdump from "../operations/Hexdump.js";
|
||||
import HTML from "../operations/HTML.js";
|
||||
import HTTP from "../operations/HTTP.js";
|
||||
import IP from "../operations/IP.js";
|
||||
import JS from "../operations/JS.js";
|
||||
import MAC from "../operations/MAC.js";
|
||||
import MorseCode from "../operations/MorseCode.js";
|
||||
import NetBIOS from "../operations/NetBIOS.js";
|
||||
import Numberwang from "../operations/Numberwang.js";
|
||||
import OS from "../operations/OS.js";
|
||||
import PublicKey from "../operations/PublicKey.js";
|
||||
import Punycode from "../operations/Punycode.js";
|
||||
import QuotedPrintable from "../operations/QuotedPrintable.js";
|
||||
import Rotate from "../operations/Rotate.js";
|
||||
import SeqUtils from "../operations/SeqUtils.js";
|
||||
import StrUtils from "../operations/StrUtils.js";
|
||||
import Tidy from "../operations/Tidy.js";
|
||||
import Unicode from "../operations/Unicode.js";
|
||||
import URL_ from "../operations/URL.js";
|
||||
import UUID from "../operations/UUID.js";
|
||||
|
||||
|
||||
/**
|
||||
@@ -45,7 +78,7 @@
|
||||
* @constant
|
||||
* @type {Object.<string, OpConf>}
|
||||
*/
|
||||
var OperationConfig = {
|
||||
const OperationConfig = {
|
||||
"Fork": {
|
||||
description: "Split the input data up based on the specified delimiter and run all subsequent operations on each branch separately.<br><br>For example, to decode multiple Base64 strings, enter them all on separate lines then add the 'Fork' and 'From Base64' operations to the recipe. Each string will be decoded separately.",
|
||||
run: FlowControl.runFork,
|
||||
@@ -3165,3 +3198,5 @@ var OperationConfig = {
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
export default OperationConfig;
|
||||
File renamed without changes.
@@ -10,7 +10,7 @@
|
||||
* @constant
|
||||
* @namespace
|
||||
*/
|
||||
var CanvasComponents = {
|
||||
const CanvasComponents = {
|
||||
|
||||
drawLine: function(ctx, startX, startY, endX, endY) {
|
||||
ctx.beginPath();
|
||||
@@ -182,3 +182,5 @@ var CanvasComponents = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default CanvasComponents;
|
||||
@@ -24,9 +24,10 @@
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
var UAS_parser = {
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
const UAS_parser = {
|
||||
|
||||
parse: function (userAgent) {
|
||||
var result = {
|
||||
@@ -133,7 +134,7 @@ var UAS_parser = {
|
||||
}
|
||||
};
|
||||
|
||||
var UAS_cache = {
|
||||
const UAS_cache = {
|
||||
version: '20131025-01',
|
||||
robots: {
|
||||
'3': {
|
||||
@@ -25814,4 +25815,7 @@ var UAS_cache = {
|
||||
'35'
|
||||
]
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
export {UAS_parser, UAS_cache};
|
||||
export default UAS_parser;
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Base = {
|
||||
const Base = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -46,7 +46,21 @@ var Base = {
|
||||
if (radix < 2 || radix > 36) {
|
||||
throw "Error: Radix argument must be between 2 and 36";
|
||||
}
|
||||
return parseInt(input.replace(/\s/g, ""), radix);
|
||||
|
||||
var number = input.replace(/\s/g, "").split("."),
|
||||
result = parseInt(number[0], radix) || 0;
|
||||
|
||||
if (number.length === 1) return result;
|
||||
|
||||
// Fractional part
|
||||
for (var i = 0; i < number[1].length; i++) {
|
||||
var digit = parseInt(number[1][i], radix);
|
||||
result += digit / Math.pow(radix, i+1);
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Base;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Base58 operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Base58 = {
|
||||
const Base58 = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -130,3 +133,5 @@ var Base58 = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Base58;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Base64 operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Base64 = {
|
||||
const Base64 = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -340,3 +343,5 @@ var Base64 = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Base64;
|
||||
@@ -1,4 +1,6 @@
|
||||
/* globals CryptoJS */
|
||||
import Utils from "../Utils.js";
|
||||
import CryptoJS from "crypto-js";
|
||||
|
||||
|
||||
/**
|
||||
* Bitwise operations.
|
||||
@@ -9,7 +11,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var BitwiseOp = {
|
||||
const BitwiseOp = {
|
||||
|
||||
/**
|
||||
* Runs bitwise operations across the input data.
|
||||
@@ -304,3 +306,5 @@ var BitwiseOp = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default BitwiseOp;
|
||||
@@ -1,4 +1,6 @@
|
||||
/* globals app */
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Byte representation operations.
|
||||
@@ -9,7 +11,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var ByteRepr = {
|
||||
const ByteRepr = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -114,11 +116,11 @@ var ByteRepr = {
|
||||
else if (ordinal < 4294967296) padding = 8;
|
||||
else padding = 2;
|
||||
|
||||
if (padding > 2) app.options.attemptHighlight = false;
|
||||
if (padding > 2 && app) app.options.attemptHighlight = false;
|
||||
|
||||
output += Utils.hex(ordinal, padding) + delim;
|
||||
} else {
|
||||
app.options.attemptHighlight = false;
|
||||
if (app) app.options.attemptHighlight = false;
|
||||
output += ordinal.toString(base) + delim;
|
||||
}
|
||||
}
|
||||
@@ -144,7 +146,7 @@ var ByteRepr = {
|
||||
throw "Error: Base argument must be between 2 and 36";
|
||||
}
|
||||
|
||||
if (base !== 16) {
|
||||
if (base !== 16 && app) {
|
||||
app.options.attemptHighlight = false;
|
||||
}
|
||||
|
||||
@@ -419,3 +421,5 @@ var ByteRepr = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default ByteRepr;
|
||||
@@ -1,4 +1,6 @@
|
||||
/* globals CryptoJS */
|
||||
import Utils from "../Utils.js";
|
||||
import CryptoJS from "crypto-js";
|
||||
|
||||
|
||||
/**
|
||||
* Character encoding operations.
|
||||
@@ -9,7 +11,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var CharEnc = {
|
||||
const CharEnc = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -44,3 +46,5 @@ var CharEnc = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default CharEnc;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Checksum operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Checksum = {
|
||||
const Checksum = {
|
||||
|
||||
/**
|
||||
* Fletcher-8 Checksum operation.
|
||||
@@ -121,7 +124,7 @@ var Checksum = {
|
||||
* @returns {string}
|
||||
*/
|
||||
runCRC32: function(input, args) {
|
||||
var crcTable = window.crcTable || (window.crcTable = Checksum._genCRCTable()),
|
||||
var crcTable = global.crcTable || (global.crcTable = Checksum._genCRCTable()),
|
||||
crc = 0 ^ (-1);
|
||||
|
||||
for (var i = 0; i < input.length; i++) {
|
||||
@@ -188,3 +191,5 @@ var Checksum = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Checksum;
|
||||
@@ -1,4 +1,7 @@
|
||||
/* globals CryptoJS, blowfish */
|
||||
import Utils from "../Utils.js";
|
||||
import CryptoJS from "crypto-js";
|
||||
import {blowfish as Blowfish} from "sladex-blowfish";
|
||||
|
||||
|
||||
/**
|
||||
* Cipher operations.
|
||||
@@ -9,7 +12,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Cipher = {
|
||||
const Cipher = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -263,7 +266,7 @@ var Cipher = {
|
||||
|
||||
if (key.length === 0) return "Enter a key";
|
||||
|
||||
var encHex = blowfish.encrypt(input, key, {
|
||||
var encHex = Blowfish.encrypt(input, key, {
|
||||
outputType: 1,
|
||||
cipherMode: Cipher.BLOWFISH_MODES.indexOf(mode)
|
||||
}),
|
||||
@@ -289,7 +292,7 @@ var Cipher = {
|
||||
|
||||
input = Utils.format[inputFormat].parse(input);
|
||||
|
||||
return blowfish.decrypt(input.toString(CryptoJS.enc.Base64), key, {
|
||||
return Blowfish.decrypt(input.toString(CryptoJS.enc.Base64), key, {
|
||||
outputType: 0, // This actually means inputType. The library is weird.
|
||||
cipherMode: Cipher.BLOWFISH_MODES.indexOf(mode)
|
||||
});
|
||||
@@ -614,6 +617,8 @@ var Cipher = {
|
||||
|
||||
};
|
||||
|
||||
export default Cipher;
|
||||
|
||||
|
||||
/**
|
||||
* Overwriting the CryptoJS OpenSSL key derivation function so that it is possible to not pass a
|
||||
@@ -1,4 +1,9 @@
|
||||
/* globals prettyPrintOne, vkbeautify, xpath */
|
||||
import Utils from "../Utils.js";
|
||||
import vkbeautify from "vkbeautify";
|
||||
import {DOMParser as dom} from "xmldom";
|
||||
import xpath from "xpath";
|
||||
import prettyPrintOne from "imports-loader?window=>global!exports-loader?prettyPrintOne!google-code-prettify/bin/prettify.min.js";
|
||||
|
||||
|
||||
/**
|
||||
* Code operations.
|
||||
@@ -9,7 +14,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Code = {
|
||||
const Code = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -332,36 +337,25 @@ var Code = {
|
||||
var query = args[0],
|
||||
delimiter = args[1];
|
||||
|
||||
var xml;
|
||||
var doc;
|
||||
try {
|
||||
xml = $.parseXML(input);
|
||||
doc = new dom().parseFromString(input);
|
||||
} catch (err) {
|
||||
return "Invalid input XML.";
|
||||
}
|
||||
|
||||
var result;
|
||||
var nodes;
|
||||
try {
|
||||
result = xpath.evaluate(xml, query);
|
||||
nodes = xpath.select(query, doc);
|
||||
} catch (err) {
|
||||
return "Invalid XPath. Details:\n" + err.message;
|
||||
}
|
||||
|
||||
var serializer = new XMLSerializer();
|
||||
var nodeToString = function(node) {
|
||||
switch (node.nodeType) {
|
||||
case Node.ELEMENT_NODE: return serializer.serializeToString(node);
|
||||
case Node.ATTRIBUTE_NODE: return node.value;
|
||||
case Node.COMMENT_NODE: return node.data;
|
||||
case Node.DOCUMENT_NODE: return serializer.serializeToString(node);
|
||||
default: throw new Error("Unknown Node Type: " + node.nodeType);
|
||||
}
|
||||
return node.toString();
|
||||
};
|
||||
|
||||
return Object.keys(result).map(function(key) {
|
||||
return result[key];
|
||||
}).slice(0, -1) // all values except last (length)
|
||||
.map(nodeToString)
|
||||
.join(delimiter);
|
||||
return nodes.map(nodeToString).join(delimiter);
|
||||
},
|
||||
|
||||
|
||||
@@ -429,3 +423,5 @@ var Code = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Code;
|
||||
@@ -1,4 +1,22 @@
|
||||
/* globals Zlib, bzip2 */
|
||||
import Utils from "../Utils.js";
|
||||
import rawdeflate from "zlibjs/bin/rawdeflate.min";
|
||||
import rawinflate from "zlibjs/bin/rawinflate.min";
|
||||
import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min";
|
||||
import zip from "zlibjs/bin/zip.min";
|
||||
import unzip from "zlibjs/bin/unzip.min";
|
||||
import bzip2 from "exports-loader?bzip2!../lib/bzip2.js";
|
||||
|
||||
var Zlib = {
|
||||
RawDeflate: rawdeflate.Zlib.RawDeflate,
|
||||
RawInflate: rawinflate.Zlib.RawInflate,
|
||||
Deflate: zlibAndGzip.Zlib.Deflate,
|
||||
Inflate: zlibAndGzip.Zlib.Inflate,
|
||||
Gzip: zlibAndGzip.Zlib.Gzip,
|
||||
Gunzip: zlibAndGzip.Zlib.Gunzip,
|
||||
Zip: zip.Zlib.Zip,
|
||||
Unzip: unzip.Zlib.Unzip,
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Compression operations.
|
||||
@@ -9,7 +27,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Compress = {
|
||||
const Compress = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -556,3 +574,5 @@ var Compress = {
|
||||
return Utils.displayFilesAsHTML(files);
|
||||
},
|
||||
};
|
||||
|
||||
export default Compress;
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Convert = {
|
||||
const Convert = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -410,3 +410,5 @@ var Convert = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Convert;
|
||||
@@ -1,5 +1,3 @@
|
||||
/* globals moment */
|
||||
|
||||
/**
|
||||
* Date and time operations.
|
||||
*
|
||||
@@ -9,7 +7,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var DateTime = {
|
||||
const DateTime = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -450,5 +448,6 @@ var DateTime = {
|
||||
</tbody>\
|
||||
</table>",
|
||||
|
||||
|
||||
};
|
||||
|
||||
export default DateTime;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Endian operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Endian = {
|
||||
const Endian = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -92,3 +95,5 @@ var Endian = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Endian;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Entropy operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Entropy = {
|
||||
const Entropy = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -164,3 +167,5 @@ var Entropy = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Entropy;
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Extract = {
|
||||
const Extract = {
|
||||
|
||||
/**
|
||||
* Runs search operations across the input data using regular expressions.
|
||||
@@ -295,3 +295,5 @@ var Extract = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Extract;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* File type operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var FileType = {
|
||||
const FileType = {
|
||||
|
||||
/**
|
||||
* Detect File Type operation.
|
||||
@@ -524,3 +527,5 @@ var FileType = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default FileType;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* HTML operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var HTML = {
|
||||
const HTML = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -848,3 +851,5 @@ var HTML = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default HTML;
|
||||
@@ -1,4 +1,5 @@
|
||||
/* globals UAS_parser */
|
||||
import {UAS_parser as UAParser} from "../lib/uas_parser.js";
|
||||
|
||||
|
||||
/**
|
||||
* HTTP operations.
|
||||
@@ -9,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var HTTP = {
|
||||
const HTTP = {
|
||||
|
||||
/**
|
||||
* Strip HTTP headers operation.
|
||||
@@ -34,7 +35,7 @@ var HTTP = {
|
||||
* @returns {string}
|
||||
*/
|
||||
runParseUserAgent: function(input, args) {
|
||||
var ua = UAS_parser.parse(input); // eslint-disable-line camelcase
|
||||
var ua = UAParser.parse(input);
|
||||
|
||||
return "Type: " + ua.type + "\n" +
|
||||
"Family: " + ua.uaFamily + "\n" +
|
||||
@@ -51,3 +52,5 @@ var HTTP = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default HTTP;
|
||||
@@ -1,4 +1,8 @@
|
||||
/* globals CryptoApi, CryptoJS, Checksum */
|
||||
import Utils from "../Utils.js";
|
||||
import CryptoJS from "crypto-js";
|
||||
import CryptoApi from "crypto-api";
|
||||
import Checksum from "./Checksum.js";
|
||||
|
||||
|
||||
/**
|
||||
* Hashing operations.
|
||||
@@ -9,7 +13,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Hash = {
|
||||
const Hash = {
|
||||
|
||||
/**
|
||||
* MD2 operation.
|
||||
@@ -381,3 +385,5 @@ var Hash = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Hash;
|
||||
@@ -1,4 +1,6 @@
|
||||
/* globals app */
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Hexdump operations.
|
||||
@@ -9,7 +11,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Hexdump = {
|
||||
const Hexdump = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -90,7 +92,7 @@ var Hexdump = {
|
||||
var w = (width - 13) / 4;
|
||||
// w should be the specified width of the hexdump and therefore a round number
|
||||
if (Math.floor(w) !== w || input.indexOf("\r") !== -1 || output.indexOf(13) !== -1) {
|
||||
app.options.attemptHighlight = false;
|
||||
if (app) app.options.attemptHighlight = false;
|
||||
}
|
||||
return output;
|
||||
},
|
||||
@@ -196,3 +198,5 @@ var Hexdump = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Hexdump;
|
||||
@@ -1,4 +1,7 @@
|
||||
/* globals BigInteger, Checksum */
|
||||
import Utils from "../Utils.js";
|
||||
import Checksum from "./Checksum.js";
|
||||
import {BigInteger} from "jsbn";
|
||||
|
||||
|
||||
/**
|
||||
* Internet Protocol address operations.
|
||||
@@ -9,7 +12,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var IP = {
|
||||
const IP = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -1073,5 +1076,6 @@ var IP = {
|
||||
255: {keyword: "Reserved", protocol: ""}
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
|
||||
export default IP;
|
||||
@@ -1,4 +1,7 @@
|
||||
/* globals esprima, escodegen, esmangle */
|
||||
import esprima from "esprima";
|
||||
import escodegen from "escodegen";
|
||||
import esmangle from "esmangle";
|
||||
|
||||
|
||||
/**
|
||||
* JavaScript operations.
|
||||
@@ -9,7 +12,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var JS = {
|
||||
const JS = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -157,3 +160,5 @@ var JS = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default JS;
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var MAC = {
|
||||
const MAC = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -86,3 +86,5 @@ var MAC = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default MAC;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Morse Code translation operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var MorseCode = {
|
||||
const MorseCode = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -183,3 +186,5 @@ var MorseCode = {
|
||||
})(),
|
||||
|
||||
};
|
||||
|
||||
export default MorseCode;
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var NetBIOS = {
|
||||
const NetBIOS = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -55,3 +55,5 @@ var NetBIOS = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default NetBIOS;
|
||||
@@ -4,7 +4,7 @@
|
||||
* @author Unknown Male 282
|
||||
* @namespace
|
||||
*/
|
||||
var Numberwang = {
|
||||
const Numberwang = {
|
||||
|
||||
/**
|
||||
* Numberwang operation. Remain indoors.
|
||||
@@ -25,3 +25,5 @@ var Numberwang = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Numberwang;
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var OS = {
|
||||
const OS = {
|
||||
|
||||
/**
|
||||
* Parse UNIX file permissions operation.
|
||||
@@ -307,3 +307,5 @@ var OS = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default OS;
|
||||
@@ -1,4 +1,6 @@
|
||||
/* globals X509, KJUR, ASN1HEX, KEYUTIL, BigInteger */
|
||||
import Utils from "../Utils.js";
|
||||
import * as r from "jsrsasign";
|
||||
|
||||
|
||||
/**
|
||||
* Public Key operations.
|
||||
@@ -9,7 +11,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var PublicKey = {
|
||||
const PublicKey = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -25,7 +27,7 @@ var PublicKey = {
|
||||
* @returns {string}
|
||||
*/
|
||||
runParseX509: function (input, args) {
|
||||
var cert = new X509(),
|
||||
var cert = new r.X509(),
|
||||
inputFormat = args[0];
|
||||
|
||||
if (!input.length) {
|
||||
@@ -36,39 +38,39 @@ var PublicKey = {
|
||||
case "DER Hex":
|
||||
input = input.replace(/\s/g, "");
|
||||
cert.hex = input;
|
||||
cert.pem = KJUR.asn1.ASN1Util.getPEMStringFromHex(input, "CERTIFICATE");
|
||||
cert.pem = r.KJUR.asn1.ASN1Util.getPEMStringFromHex(input, "CERTIFICATE");
|
||||
break;
|
||||
case "PEM":
|
||||
cert.hex = X509.pemToHex(input);
|
||||
cert.hex = r.X509.pemToHex(input);
|
||||
cert.pem = input;
|
||||
break;
|
||||
case "Base64":
|
||||
cert.hex = Utils.toHex(Utils.fromBase64(input, null, "byteArray"), "");
|
||||
cert.pem = KJUR.asn1.ASN1Util.getPEMStringFromHex(cert.hex, "CERTIFICATE");
|
||||
cert.pem = r.KJUR.asn1.ASN1Util.getPEMStringFromHex(cert.hex, "CERTIFICATE");
|
||||
break;
|
||||
case "Raw":
|
||||
cert.hex = Utils.toHex(Utils.strToByteArray(input), "");
|
||||
cert.pem = KJUR.asn1.ASN1Util.getPEMStringFromHex(cert.hex, "CERTIFICATE");
|
||||
cert.pem = r.KJUR.asn1.ASN1Util.getPEMStringFromHex(cert.hex, "CERTIFICATE");
|
||||
break;
|
||||
default:
|
||||
throw "Undefined input format";
|
||||
}
|
||||
|
||||
var version = ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 0, 0]),
|
||||
var version = r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 0, 0]),
|
||||
sn = cert.getSerialNumberHex(),
|
||||
algorithm = KJUR.asn1.x509.OID.oid2name(KJUR.asn1.ASN1Util.oidHexToInt(ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 2, 0]))),
|
||||
algorithm = r.KJUR.asn1.x509.OID.oid2name(r.KJUR.asn1.ASN1Util.oidHexToInt(r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 2, 0]))),
|
||||
issuer = cert.getIssuerString(),
|
||||
notBefore = cert.getNotBefore(),
|
||||
notAfter = cert.getNotAfter(),
|
||||
subject = cert.getSubjectString(),
|
||||
pkAlgorithm = KJUR.asn1.x509.OID.oid2name(KJUR.asn1.ASN1Util.oidHexToInt(ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 6, 0, 0]))),
|
||||
pk = X509.getPublicKeyFromCertPEM(cert.pem),
|
||||
pkAlgorithm = r.KJUR.asn1.x509.OID.oid2name(r.KJUR.asn1.ASN1Util.oidHexToInt(r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 6, 0, 0]))),
|
||||
pk = r.X509.getPublicKeyFromCertPEM(cert.pem),
|
||||
pkFields = [],
|
||||
pkStr = "",
|
||||
certSigAlg = KJUR.asn1.x509.OID.oid2name(KJUR.asn1.ASN1Util.oidHexToInt(ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [1, 0]))),
|
||||
certSig = ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [2]).substr(2),
|
||||
certSigAlg = r.KJUR.asn1.x509.OID.oid2name(r.KJUR.asn1.ASN1Util.oidHexToInt(r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [1, 0]))),
|
||||
certSig = r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [2]).substr(2),
|
||||
sigStr = "",
|
||||
extensions = ASN1HEX.dump(ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 7]));
|
||||
extensions = r.ASN1HEX.dump(r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 7]));
|
||||
|
||||
// Public Key fields
|
||||
if (pk.type === "EC") { // ECDSA
|
||||
@@ -78,7 +80,7 @@ var PublicKey = {
|
||||
});
|
||||
pkFields.push({
|
||||
key: "Length",
|
||||
value: (((new BigInteger(pk.pubKeyHex, 16)).bitLength()-3) /2) + " bits"
|
||||
value: (((new r.BigInteger(pk.pubKeyHex, 16)).bitLength()-3) /2) + " bits"
|
||||
});
|
||||
pkFields.push({
|
||||
key: "pub",
|
||||
@@ -122,9 +124,9 @@ var PublicKey = {
|
||||
}
|
||||
|
||||
// Signature fields
|
||||
if (ASN1HEX.dump(certSig).indexOf("SEQUENCE") === 0) { // DSA or ECDSA
|
||||
sigStr = " r: " + PublicKey._formatByteStr(ASN1HEX.getDecendantHexVByNthList(certSig, 0, [0]), 16, 18) + "\n" +
|
||||
" s: " + PublicKey._formatByteStr(ASN1HEX.getDecendantHexVByNthList(certSig, 0, [1]), 16, 18) + "\n";
|
||||
if (r.ASN1HEX.dump(certSig).indexOf("SEQUENCE") === 0) { // DSA or ECDSA
|
||||
sigStr = " r: " + PublicKey._formatByteStr(r.ASN1HEX.getDecendantHexVByNthList(certSig, 0, [0]), 16, 18) + "\n" +
|
||||
" s: " + PublicKey._formatByteStr(r.ASN1HEX.getDecendantHexVByNthList(certSig, 0, [1]), 16, 18) + "\n";
|
||||
} else { // RSA
|
||||
sigStr = " Signature: " + PublicKey._formatByteStr(certSig, 16, 18) + "\n";
|
||||
}
|
||||
@@ -145,7 +147,7 @@ var PublicKey = {
|
||||
subjectStr = PublicKey._formatDnStr(subject, 2);
|
||||
|
||||
var output = "Version: " + (parseInt(version, 16) + 1) + " (0x" + version + ")\n" +
|
||||
"Serial number: " + new BigInteger(sn, 16).toString() + " (0x" + sn + ")\n" +
|
||||
"Serial number: " + new r.BigInteger(sn, 16).toString() + " (0x" + sn + ")\n" +
|
||||
"Algorithm ID: " + algorithm + "\n" +
|
||||
"Validity\n" +
|
||||
" Not Before: " + nbDate + " (dd-mm-yy hh:mm:ss) (" + notBefore + ")\n" +
|
||||
@@ -183,7 +185,7 @@ var PublicKey = {
|
||||
// Add footer so that the KEYUTIL function works
|
||||
input = input + "-----END CERTIFICATE-----";
|
||||
}
|
||||
return KEYUTIL.getHexFromPEM(input);
|
||||
return r.KEYUTIL.getHexFromPEM(input);
|
||||
},
|
||||
|
||||
|
||||
@@ -201,7 +203,7 @@ var PublicKey = {
|
||||
* @returns {string}
|
||||
*/
|
||||
runHexToPem: function(input, args) {
|
||||
return KJUR.asn1.ASN1Util.getPEMStringFromHex(input.replace(/\s/g, ""), args[0]);
|
||||
return r.KJUR.asn1.ASN1Util.getPEMStringFromHex(input.replace(/\s/g, ""), args[0]);
|
||||
},
|
||||
|
||||
|
||||
@@ -213,7 +215,7 @@ var PublicKey = {
|
||||
* @returns {string}
|
||||
*/
|
||||
runHexToObjectIdentifier: function(input, args) {
|
||||
return KJUR.asn1.ASN1Util.oidHexToInt(input.replace(/\s/g, ""));
|
||||
return r.KJUR.asn1.ASN1Util.oidHexToInt(input.replace(/\s/g, ""));
|
||||
},
|
||||
|
||||
|
||||
@@ -225,7 +227,7 @@ var PublicKey = {
|
||||
* @returns {string}
|
||||
*/
|
||||
runObjectIdentifierToHex: function(input, args) {
|
||||
return KJUR.asn1.ASN1Util.oidIntToHex(input);
|
||||
return r.KJUR.asn1.ASN1Util.oidIntToHex(input);
|
||||
},
|
||||
|
||||
|
||||
@@ -245,7 +247,7 @@ var PublicKey = {
|
||||
runParseAsn1HexString: function(input, args) {
|
||||
var truncateLen = args[1],
|
||||
index = args[0];
|
||||
return ASN1HEX.dump(input.replace(/\s/g, ""), {
|
||||
return r.ASN1HEX.dump(input.replace(/\s/g, ""), {
|
||||
"ommitLongOctet": truncateLen
|
||||
}, index);
|
||||
},
|
||||
@@ -334,6 +336,8 @@ var PublicKey = {
|
||||
|
||||
};
|
||||
|
||||
export default PublicKey;
|
||||
|
||||
|
||||
/**
|
||||
* Overwrite X509.hex2dn function so as to join RDNs with a string which can be split on without
|
||||
@@ -342,12 +346,12 @@ var PublicKey = {
|
||||
* @param {string} hDN - Hex DN string
|
||||
* @returns {string}
|
||||
*/
|
||||
X509.hex2dn = function(hDN) {
|
||||
r.X509.hex2dn = function(hDN) {
|
||||
var s = "";
|
||||
var a = ASN1HEX.getPosArrayOfChildren_AtObj(hDN, 0);
|
||||
var a = r.ASN1HEX.getPosArrayOfChildren_AtObj(hDN, 0);
|
||||
for (var i = 0; i < a.length; i++) {
|
||||
var hRDN = ASN1HEX.getHexOfTLV_AtObj(hDN, a[i]);
|
||||
s = s + ",/|" + X509.hex2rdn(hRDN);
|
||||
var hRDN = r.ASN1HEX.getHexOfTLV_AtObj(hDN, a[i]);
|
||||
s = s + ",/|" + r.X509.hex2rdn(hRDN);
|
||||
}
|
||||
return s;
|
||||
};
|
||||
@@ -361,7 +365,7 @@ X509.hex2dn = function(hDN) {
|
||||
*
|
||||
* @constant
|
||||
*/
|
||||
X509.DN_ATTRHEX = {
|
||||
r.X509.DN_ATTRHEX = {
|
||||
"0603550403" : "commonName",
|
||||
"0603550404" : "surname",
|
||||
"0603550406" : "countryName",
|
||||
@@ -1,4 +1,5 @@
|
||||
/* globals punycode */
|
||||
import punycode from "punycode";
|
||||
|
||||
|
||||
/**
|
||||
* Punycode operations.
|
||||
@@ -9,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Punycode = {
|
||||
const Punycode = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -28,7 +29,7 @@ var Punycode = {
|
||||
var idn = args[0];
|
||||
|
||||
if (idn) {
|
||||
return punycode.ToASCII(input);
|
||||
return punycode.toASCII(input);
|
||||
} else {
|
||||
return punycode.encode(input);
|
||||
}
|
||||
@@ -46,10 +47,12 @@ var Punycode = {
|
||||
var idn = args[0];
|
||||
|
||||
if (idn) {
|
||||
return punycode.ToUnicode(input);
|
||||
return punycode.toUnicode(input);
|
||||
} else {
|
||||
return punycode.decode(input);
|
||||
}
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Punycode;
|
||||
@@ -30,7 +30,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var QuotedPrintable = {
|
||||
const QuotedPrintable = {
|
||||
|
||||
/**
|
||||
* To Quoted Printable operation.
|
||||
@@ -268,3 +268,5 @@ var QuotedPrintable = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default QuotedPrintable;
|
||||
@@ -9,7 +9,7 @@
|
||||
*
|
||||
* @todo Support for UTF16
|
||||
*/
|
||||
var Rotate = {
|
||||
const Rotate = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -240,3 +240,5 @@ var Rotate = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Rotate;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Sequence utility operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var SeqUtils = {
|
||||
const SeqUtils = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -218,3 +221,5 @@ var SeqUtils = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default SeqUtils;
|
||||
@@ -1,4 +1,6 @@
|
||||
/* globals JsDiff */
|
||||
import Utils from "../Utils.js";
|
||||
import * as JsDiff from "diff";
|
||||
|
||||
|
||||
/**
|
||||
* String utility operations.
|
||||
@@ -9,7 +11,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var StrUtils = {
|
||||
const StrUtils = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -536,3 +538,5 @@ var StrUtils = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default StrUtils;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Tidy operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Tidy = {
|
||||
const Tidy = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -236,3 +239,5 @@ var Tidy = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Tidy;
|
||||
@@ -1,4 +1,6 @@
|
||||
/* globals unescape */
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* URL operations.
|
||||
@@ -10,7 +12,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var URL_ = {
|
||||
const URL_ = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -56,6 +58,10 @@ var URL_ = {
|
||||
* @returns {string}
|
||||
*/
|
||||
runParse: function(input, args) {
|
||||
if (!document) {
|
||||
throw "This operation only works in a browser.";
|
||||
}
|
||||
|
||||
var a = document.createElement("a");
|
||||
|
||||
// Overwrite base href which will be the current CyberChef URL to reduce confusion.
|
||||
@@ -128,3 +134,5 @@ var URL_ = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default URL_;
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var UUID = {
|
||||
const UUID = {
|
||||
|
||||
/**
|
||||
* Generate UUID operation.
|
||||
@@ -17,7 +17,7 @@ var UUID = {
|
||||
* @returns {string}
|
||||
*/
|
||||
runGenerateV4: function(input, args) {
|
||||
if (typeof(window.crypto) !== "undefined" && typeof(window.crypto.getRandomValues) !== "undefined") {
|
||||
if (window && typeof(window.crypto) !== "undefined" && typeof(window.crypto.getRandomValues) !== "undefined") {
|
||||
var buf = new Uint32Array(4),
|
||||
i = 0;
|
||||
window.crypto.getRandomValues(buf);
|
||||
@@ -37,3 +37,5 @@ var UUID = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default UUID;
|
||||
@@ -1,3 +1,6 @@
|
||||
import Utils from "../Utils.js";
|
||||
|
||||
|
||||
/**
|
||||
* Unicode operations.
|
||||
*
|
||||
@@ -7,7 +10,7 @@
|
||||
*
|
||||
* @namespace
|
||||
*/
|
||||
var Unicode = {
|
||||
const Unicode = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
@@ -60,3 +63,5 @@ var Unicode = {
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default Unicode;
|
||||
-222
@@ -1,222 +0,0 @@
|
||||
/** @license
|
||||
========================================================================
|
||||
Bootstrap Colorpicker v2.3.6
|
||||
https://itsjavi.com/bootstrap-colorpicker/
|
||||
|
||||
Originally written by (c) 2012 Stefan Petre
|
||||
Licensed under the Apache License v2.0
|
||||
http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
*/
|
||||
|
||||
.colorpicker-saturation {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAQAAADa613fAAAP9klEQVR4XnRWC47rNgwcKjlA0bv2VL1Qi/YELRav7203iS1ppqZoiXCAhuBHVLI74xFtG3/Hz2joIOjRGuR5eMYuRn9YA1fds859KX8ZvczLr9/pImiR3Rqky9/wlajRIdVE/1Rufeu/0No3/ASgBZAJUkwgi0iCaEatekJJoEqiTQncd67/gyOfRCZshTed0Nl8LbLj8D6qxtoq9/7kJz/aH/3Xfu8VwI5+AUH8DxE7gUyiIpZ5LwiGzUqE3CScJsCDQHAsvBnxWpkbC0QMHmBp6latWS0bnvrCN/x1+xPfce+Ij0GAyeAGGz15sOiax2UylPhKrFaMPnVWClwepKh07hdhkVDsK2uoyEIySergjdbY2VBtV8VLr8Mf9mF/4wMb7kR8FOhzFWZZe7HIZD9JRIbee28eJKBweTB6TwjYkAgWaUmtDveGw1Wx3zZ76YlPPfQd/+gTTUFkiGiJ+NQAszU1EPT/QJEgufolAMPkNU4CVOyUIBLg4xglEZHGQnTFOFV0VaulYddBhA986ge/7N/yQi/3flFgwfQq2ibLnTDBRl9TmUHyJASPV/eoN0UISIr+ICQKIFV4EpljSjV1uFVUq9hRtet5e9gXvuyHPW0zMhQxWaoBBa9Tg8vsCEhww23Smd0CKjIkmPIoxWrUBDgJqFCyESF43ctQxLUoHN7Q1KyVhqrNNm3cy2vMyQNPVKjc29Rh5SSU+giWdRJHkLnQG71FQEuNyNGBTDdBQQAKCuGiEUS/jcyGbkMPq931OIzb/dUPGuVlG7f+slqkO5NAAlzTMdcq0NkzmsEBmAQkbI+pSHbiqnuWIA6lijhvqwIxMyWxMGZiPU669XJE1tADDTs2HWpwKxuqdnTpOiOR42xlzLtm3pXGel3xd8/oTs8Xy0MV8GM1RlsC2Y3Wy3wut3M+2mEVux0Gt9fhzTWyLvGiiJYaqY5DWRFIwAiQ5r6gB9GpQihJw4I9j5Mkscj3BnzGjBhv8xna5P1Jo428o6IOPY5KFZtVOkEKqUjqQY9Gi+jrIOFwJUDzRtA9xyoIrGGmkNRmxVAnZoK+TkUIeUYni5wEzgOG5iZX5HCr2JyQNqdk++G0rgb1ochSIGutTj4P7F0PuRUAolmh5sCzAHn1BYyaADh6bgFeoBx6vst091CEvcSLWBBpqGq384jZ5llVHSwEShLx+D4d0mU3D5eEAJQ9KEhOZUYnDENV2qKgmIlQhWfdvcoXYaegPp/n1oKIOgYFqxrzQSciqNhv/5FqPpy6b0UcX2vf13DfWySRSEgkEYlEJJGQSyKJSEQSCYlEEpHexIVO3XOevffze2a+PfPv9x1rne1c3b3Mmlmz9mE++zuzngfnw/E+Dlc4LL4NwHdFy7u3KGPVmZ6/4eeMoDyre3i/KHADIHYO04w9zO0mAotuKnrc7XaPjvu66bNe5cDT7RlPepEnfS2X8dF1/utDvD+OwGDBxEgQywLCvIMYWBY+DShwAAORAdv9PswhDAqOUCi5+71AbFcDMR4xBDNfhySKXPXZ1+Vub+Q1Ltf5z7eC0AjVldHI26rIFdKIAyYBJCFVUhVDwttAnM52B3Ect1TFQXzJ0z33lOuib/QO8g+CuO0gKBRU80A8hkeJ0b1KRQWmFQVSh8mf3lpUpNaRulzN5NArrmKKGMijXgzk7w5ijdFVgT8f1IdFNjVWjDWicUYWEEMmSFDtILdzHW5XueHp7p+yuS54ep5/c5BE2Gw/gWPNYU4/PZaak2VGEsFjSbOf8irea6KQgojGCk0KxZY31tWWgzwayF8N5KYyo3VADVicWWrhwzr3ZqIOa5xW5zbqMPPMiyDURHDIHQTeWq7KFXcQPOqzPOL5Ov/iIDEDy7DHEwx0PTgjO8SS0fOEHcZNMt+XKEFMj8Q4QUSvPu6HPuvd4N9/x12RPwcIVRCAakSOUzHgsUSMFWYzDQ+PiOJqAOuYc9jh5TecnA+xHfFyOYhebeTH89P80wrCJzUjlsx7euIV0g4zQFUSiBPioIWBACFC7GgDj8P91ZSJOQmQP74MAnQo8H5RIe8kZ0kBcQCMAlEpRDiKROBxbR0ksdhWFq0gR9q9uQzkDzuIFQSPqAgRCAsCaVNF2ZAAhxvtzcqcnDk6tpXxSsayqXLIgSOb6zqeH+fvO0i9XEu5EVV+OZehRZJ6BGTeaRhCkTzVIZeAzaWGAFfErIPogQI5CuR3HQQx7DzBB16R3s7e0MBUPedjWutgG/JUTPqMeAQNEiytJRnJearWUgdwFNxN7rtBoECuj/O3BMHaTIxQ0a4GctireElTJHJvLTaalih5kvBCGMvkdESUMAdCFaI4yG8SpDfRWAptqkAJUwCG6B7lOREFSZBqKs57MEHqVJEBwHa2lp0OiKtiQ18gx9P89QrSXyc0vObBM4vPmBADqJZLAo/yzK7qPSZstCy+fDSZlhrm+Zkyjsf5q2otdC14zkLjHLf0me9wjNqQo0B1a6wBJRaIEgC2Qw9oby/cRHA+xHCQy/xlB1HVSV3Y/5yVhsc7dBi2UoIWCMcbELZWgxNCGUZ5y4ceBaLlE8dAfrEosrYT+z8ya3sxXndFBxuQivNGEHFCbLGBlBLKGYHZoeoQpcjtMn/uICPefcxecpuDOEemg9S/44cflZPIlWolyHkLrEpgbS9IQRlAgZgi0WDjsEiPh+PN/Fkogq4GdzPtarlRGW2tJwEK1RMTEvdVdmhAKHO1pdUuGQsVcX+rSfGzDbwGyE8NRPQc83HCaOkTZwPqABZBdFq8zAN1gue0FPO8wYUFBE1WkMwVzM1iQ4BItFh+H36Qy/yJg0DRQICmBl+tbKUC5cCj3yXI+SUFBS78ZAcBtHt+e9lBuiqpTNh9zTvIjzuIWxVYGQJpAZY+VWS3QKh84iSZbwuIdiDpc4KztQa/sjhMaDJEJDSZ8mZ+kCBdC0JpKVNQzZdKu+EsOeFCosrngVAkDS/uy6iGnW7UxmMpkB8FyFKo6iQW8z1HuBdMu1pdkZdB8jWTjlFtNaiJRYniIDcD+eECMqFLS9ED6DgxzCMKnRD3HYYA2uMCJUh70OK8G0EUnJV8lqe8nj84QdqLhdoJskNlEw1ivajM8LtPBhIeN99LESXI9xcQIHFQudHngZjUhXOQeGlUYmAddh5pxMhzV0M1vMAtMFIVmfp6fq+DgEWefjQVenstaqUy3bJQAiVlEihDghCDINFQg8oUhoQPkO8SBEM7SFQ72VYBwPuE7k8uYF5LNwg/TEd2zkuKjIIhTiJRlYrDfNS1QL7DYUcbcCyKJNwOwucVCVSwBBj/DwghXA2hQtACgCBBPprfXkAIFIYRXhONQARFU00Tsh6LEmmQUbkTImMi9me5qaHDIeBgHeRbdxAIqAJBCDSoCNVQglrciqX/ZCD9RRP6rgpBvhmKAFhg2ForBLXBYPtUjj7vCHPe8SXbYAY47gHB9mKeqjjIg/53fmMD0fR9Bug7SFcHI6EA1OC/E8QTL4NgBSGiCiyTChnI1zcQxmyfRZGM6w701KRybDvsIK3LWDx6mxGkcglEZQLkawnCdppZ6sgCh8trWWBUQaUWCEOlOs7HAenFE45QSu9RQQDAqchXNxDq4orQR44qRIFUQvM+mRJuB6GDEixgCbSBQGXghEEbdn1P/zO/QhAWCsWsmRhLa2VFkSZIgSVKmgEQhvk6K8YKMRZl7Dwg4amOUYvFBfLlE4RasOCB5S9PXKq0AqGDMiYIReXF0mYctITWBmqR5F38X5Y7yJfeCtKBzNbWYm5XpsMpf3dRZD3jPDesvdVCOs6KYQXIFw1E4fcE8dHWOepZBXpLJcACWUZVMRZbfvgXR4Ak8A7VVSKSVuu9p6/mFxyE7cOWavtLp952O8huK83+gmHzHaAsVXLgAvl8gPCvHzAFsM8GNXGKPH5cmN02sXTLa8QdKRXMzHv67/k5A9k1UIx36UH/VlWWtuKssNiRapB6BaLXl6MA+ayDcNS3v/sYXgCL620F1kk8QhKAEOvKu4DvajDO5zkHc4fBg76anyEIIcamBPex5EK8AoVHhMW7QAqWrYD1204CJB1hCfOAV/PTBPH0zBmJmsZZKCEaAmdqm4zMcYxYLN0JuHThIAjirAnp3px7TRgD+ZSD/K92M1CNIgbC8Ex7FkSEIlQEEUQEQQQBRBABEUQQEQTx3X0Evap9AhP39jL5OvuzAWuvbDaTTDIzX2aypUCJ0i7nAigoQAk9gUIUSxXEoCFyyVIuL9ZQcMZoArnwr4D0OLS8jGNGTgGnsZQWMYrcOARoIReAALBeWhf+RUCAIEsECFQHLkwR5zj4JW3t5WOUU5djvgQIawD53EDsctmYz8xGaZGPBUR3qNkiGwqDICUYIFpqBgRaayCfFiAWR2wWvoobmzxdF8N5kyxXmvap/sgGcLF/aoBosbG+lE395R8zCA4BqUYgOgYq+HtvBrT0LK15X8lZwx5f9klCX0rdgXzIIGbdhXMqZtHzJhuptEjmsFc4KzmN5IFPtfM7gWw2kPczSIqQSPUDYKYBMamsBCpKphW0iA5H8AbMDPJOQYjLZg1Vk4G49GlCYNYAkdOd0kwRQ8FCyAHydgLZ6Z2AqrVtjDUQ7hCEmrkEooDAsB2YnBCvkBpZ6yBvJpCd7Mn5zJ6C4QF2BUQPgHEIGUrGnHzQ8rlMekBeTyAzwDJksxwM4+w3BY02B8mIl0CmFRm+ZscxAuSnvwqQsECTIGSV6FEoJFTygVuzB5xAsKqBvAQE3+nkVoJDI1BJIaPBWik7ZSu5NIp5A3mRQaTFvLgkO9fVgEgMqqeVfb+p55tijWH+Kea71ubq4v8Sl8089sZKbKEZNq+VUfISJJF7j79WrbYgS994ZEf+nIz0pNFRWqapSmK6P45i3OQuLine truncated
|
||||
cursor: crosshair;
|
||||
float: left;
|
||||
}
|
||||
.colorpicker-saturation i {
|
||||
display: block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
border: 1px solid #000;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: -4px 0 0 -4px;
|
||||
}
|
||||
.colorpicker-saturation i b {
|
||||
display: block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
border: 1px solid #fff;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.colorpicker-hue,
|
||||
.colorpicker-alpha {
|
||||
width: 15px;
|
||||
height: 100px;
|
||||
float: left;
|
||||
cursor: row-resize;
|
||||
margin-left: 4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.colorpicker-hue i,
|
||||
.colorpicker-alpha i {
|
||||
display: block;
|
||||
height: 1px;
|
||||
background: #000;
|
||||
border-top: 1px solid #fff;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
margin-top: -1px;
|
||||
}
|
||||
.colorpicker-hue {
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAh0lEQVR4XgXAg3EDAAAAwI9to7Zt27a1/w49BASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHXo1KVbj159+g0YNGTYiFFjxk2YNGXajFlz5i1YtGTZilVr1m3YtGXbjl179h04dOTYiVNnzl24dOXajVt37j149OTZi1dv3n349OXbj19//wOxE1dQ8reGAAAAAElFTkSuQmCC');
|
||||
}
|
||||
.colorpicker-alpha {
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=');
|
||||
display: none;
|
||||
}
|
||||
.colorpicker-saturation,
|
||||
.colorpicker-hue,
|
||||
.colorpicker-alpha {
|
||||
background-size: contain;
|
||||
}
|
||||
.colorpicker {
|
||||
padding: 4px;
|
||||
min-width: 130px;
|
||||
margin-top: 1px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
z-index: 2500;
|
||||
}
|
||||
.colorpicker:before,
|
||||
.colorpicker:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.colorpicker:after {
|
||||
clear: both;
|
||||
}
|
||||
.colorpicker:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
left: 6px;
|
||||
}
|
||||
.colorpicker:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #ffffff;
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
left: 7px;
|
||||
}
|
||||
.colorpicker div {
|
||||
position: relative;
|
||||
}
|
||||
.colorpicker.colorpicker-with-alpha {
|
||||
min-width: 140px;
|
||||
}
|
||||
.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
|
||||
display: block;
|
||||
}
|
||||
.colorpicker-color {
|
||||
height: 10px;
|
||||
margin-top: 5px;
|
||||
clear: both;
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=');
|
||||
background-position: 0 100%;
|
||||
}
|
||||
.colorpicker-color div {
|
||||
height: 10px;
|
||||
}
|
||||
.colorpicker-selectors {
|
||||
display: none;
|
||||
height: 10px;
|
||||
margin-top: 5px;
|
||||
clear: both;
|
||||
}
|
||||
.colorpicker-selectors i {
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
}
|
||||
.colorpicker-selectors i + i {
|
||||
margin-left: 3px;
|
||||
}
|
||||
.colorpicker-element .input-group-addon i,
|
||||
.colorpicker-element .add-on i {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
height: 16px;
|
||||
vertical-align: text-top;
|
||||
width: 16px;
|
||||
}
|
||||
.colorpicker.colorpicker-inline {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
float: none;
|
||||
z-index: auto;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal {
|
||||
width: 110px;
|
||||
min-width: 110px;
|
||||
height: auto;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-saturation {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-color {
|
||||
width: 100px;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-hue,
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
||||
width: 100px;
|
||||
height: 15px;
|
||||
float: left;
|
||||
cursor: col-resize;
|
||||
margin-left: 0px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-hue i,
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
|
||||
display: block;
|
||||
height: 15px;
|
||||
background: #ffffff;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 1px;
|
||||
border: none;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-hue {
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAbUlEQVR4XgXAghEDsbxtlrZt27ax/w49ACAYQTGcICmaYTleECVZUTXdMC1Wm93hdLk9Xp8/EAyFI9FYPJFMpTPZXL5QLJUr1Vq90Wy1O91efzAcjSfT2XyxXK03293+cDydL9fb/fF8vT/f3x+LfRNXARMbCAAAAABJRU5ErkJggg==');
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAKCAQAAADoFTP1AAAB9ElEQVR4XoWTQW4VMRBEu9qWEimL7DhEMp8NF+ASnJJLcAQgE1bcgBUSkYKUuHCrZ9pjeqSU5Yn9LPu7umJQBIIv+k7vIOrtK66L4lmr3pVOrOv3otp619KZ0/KjdNI79L52Uo09FBQWrU0vfe5trezU+hLsoUKd3Repovte+0vbq/7Lj5XbaHECKasR9G4MPlbp+gzZxd6koPEJCkAYC5SjcOTAIIOK90Dja1IfIZ8Z+zAY9jm3b5Ia+MT5sFcqRJrR2AYYA8Kua5BzYRrFPNmD4PQMegGJMOffJJUsWiI3nCHZZjInNdffLWOufzbc3JaboCAVxwmnRHbhLSPwRJ4wU0BRSc6HkECYYVw95nMKgJOcylxrJttE5Ibzf9Xq9GPvP+WX3MiV/MGHfRu/SentRQrfG1GzsIrytdNXucSRKxQNIGHM9YhGFQJcdjNcBZvfJayuYe4Sia1CzwW+19mWOhe37HsxJWKwbu/jluEU15QzAQjAqCEbhMJc78GYV2E0kooHDubUImWkTOhGpgv8PoT8DJG/bzxna4BZ0eOFSOaLADGeSpFsg5AzeaDZIDQQXjZ4y/8ryfzUXBwdELRjTjCNvOeT0rNlrJz90vwy6N9pXXQEluX0inElpPWokSdiLCfiNJJjMKQ8Qsh8GEKQKMo/eiHrNbI9UksAAAAASUVORK5CYII=');
|
||||
}
|
||||
.colorpicker.colorpicker-hidden {
|
||||
display: none;
|
||||
}
|
||||
.colorpicker.colorpicker-visible {
|
||||
display: block;
|
||||
}
|
||||
.colorpicker-inline.colorpicker-visible {
|
||||
display: inline-block;
|
||||
}
|
||||
.colorpicker-right:before {
|
||||
left: auto;
|
||||
right: 6px;
|
||||
}
|
||||
.colorpicker-right:after {
|
||||
left: auto;
|
||||
right: 7px;
|
||||
}
|
||||
.colorpicker-no-arrow:before {
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
}
|
||||
.colorpicker-no-arrow:after {
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
}
|
||||
Vendored
-221
@@ -1,221 +0,0 @@
|
||||
/** @license
|
||||
========================================================================
|
||||
bootstrap-switch - v3.1.0
|
||||
http://www.bootstrap-switch.org
|
||||
Copyright 2012-2013 Mattia Larentis
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
.bootstrap-switch {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
border: 1px solid;
|
||||
border-color: #cccccc;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
overflow: hidden;
|
||||
line-height: 8px;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
vertical-align: middle;
|
||||
min-width: 100px;
|
||||
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-mini {
|
||||
min-width: 71px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
|
||||
padding-bottom: 4px;
|
||||
padding-top: 4px;
|
||||
font-size: 10px;
|
||||
line-height: 9px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-small {
|
||||
min-width: 79px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
|
||||
padding-bottom: 3px;
|
||||
padding-top: 3px;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-large {
|
||||
min-width: 120px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
|
||||
padding-bottom: 9px;
|
||||
padding-top: 9px;
|
||||
font-size: 16px;
|
||||
line-height: normal;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-disabled,
|
||||
.bootstrap-switch.bootstrap-switch-readonly,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: default !important;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
|
||||
cursor: default !important;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
|
||||
-webkit-transition: margin-left 0.5s;
|
||||
transition: margin-left 0.5s;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on {
|
||||
border-bottom-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off {
|
||||
border-bottom-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-focused {
|
||||
border-color: #66afe9;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-container,
|
||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-container {
|
||||
margin-left: 0%;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-container,
|
||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-container {
|
||||
margin-left: -50%;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,
|
||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-container,
|
||||
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-indeterminate .bootstrap-switch-container {
|
||||
margin-left: -25%;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-container {
|
||||
display: inline-block;
|
||||
width: 150%;
|
||||
top: 0;
|
||||
border-radius: 4px;
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off,
|
||||
.bootstrap-switch .bootstrap-switch-label {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: inline-block !important;
|
||||
height: 100%;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 4px;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off {
|
||||
text-align: center;
|
||||
z-index: 1;
|
||||
width: 33.333333333%;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
|
||||
color: #fff;
|
||||
background: #428bca;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info {
|
||||
color: #fff;
|
||||
background: #5bc0de;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success {
|
||||
color: #fff;
|
||||
background: #5cb85c;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning {
|
||||
background: #f0ad4e;
|
||||
color: #fff;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger {
|
||||
color: #fff;
|
||||
background: #d9534f;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
|
||||
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default {
|
||||
color: #000;
|
||||
background: #eeeeee;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-label {
|
||||
text-align: center;
|
||||
margin-top: -1px;
|
||||
margin-bottom: -1px;
|
||||
z-index: 100;
|
||||
width: 33.333333333%;
|
||||
color: #333333;
|
||||
background: #ffffff;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-on {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch .bootstrap-switch-handle-off {
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.bootstrap-switch input[type='radio'],
|
||||
.bootstrap-switch input[type='checkbox'] {
|
||||
position: absolute !important;
|
||||
top: 0;
|
||||
left: 0;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
z-index: -1;
|
||||
}
|
||||
.bootstrap-switch input[type='radio'].form-control,
|
||||
.bootstrap-switch input[type='checkbox'].form-control {
|
||||
height: auto;
|
||||
}
|
||||
Vendored
-6764
File diff suppressed because it is too large.
Load diff
@@ -1,68 +0,0 @@
|
||||
/** @license
|
||||
========================================================================
|
||||
StyleSheet for Google Code Prettify
|
||||
Copyright (C) 2006 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
/* SPAN elements with the classes below are added by prettyprint. */
|
||||
.pln { color: #000 } /* plain text */
|
||||
|
||||
@media screen {
|
||||
.str { color: #080 } /* string content */
|
||||
.kwd { color: #008 } /* a keyword */
|
||||
.com { color: #800 } /* a comment */
|
||||
.typ { color: #606 } /* a type name */
|
||||
.lit { color: #066 } /* a literal value */
|
||||
/* punctuation, lisp open bracket, lisp close bracket */
|
||||
.pun, .opn, .clo { color: #660 }
|
||||
.tag { color: #008 } /* a markup tag name */
|
||||
.atn { color: #606 } /* a markup attribute name */
|
||||
.atv { color: #080 } /* a markup attribute value */
|
||||
.dec, .var { color: #606 } /* a declaration; a variable name */
|
||||
.fun { color: red } /* a function name */
|
||||
}
|
||||
|
||||
/* Use higher contrast and text-weight for printable form. */
|
||||
@media print, projection {
|
||||
.str { color: #060 }
|
||||
.kwd { color: #006; font-weight: bold }
|
||||
.com { color: #600; font-style: italic }
|
||||
.typ { color: #404; font-weight: bold }
|
||||
.lit { color: #044 }
|
||||
.pun, .opn, .clo { color: #440 }
|
||||
.tag { color: #006; font-weight: bold }
|
||||
.atn { color: #404 }
|
||||
.atv { color: #060 }
|
||||
}
|
||||
|
||||
/* Put a border around prettyprinted code snippets. */
|
||||
pre.prettyprint { padding: 2px; border: 1px solid #888 }
|
||||
|
||||
/* Specify class=linenums on a pre to get line numbering */
|
||||
ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */
|
||||
li.L0,
|
||||
li.L1,
|
||||
li.L2,
|
||||
li.L3,
|
||||
li.L5,
|
||||
li.L6,
|
||||
li.L7,
|
||||
li.L8 { list-style-type: none }
|
||||
/* Alternate shading for lines */
|
||||
li.L1,
|
||||
li.L3,
|
||||
li.L5,
|
||||
li.L7,
|
||||
li.L9 { background: #eee }
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,649 +0,0 @@
|
||||
/** @license
|
||||
========================================================================
|
||||
Blowfish.js from Dojo Toolkit 1.8.1
|
||||
Cut of by Sladex (xslade@gmail.com)
|
||||
|
||||
Created based on the C# implementation by Marcus Hahn (http://www.hotpixel.net/)
|
||||
Unsigned math based on Paul Johnstone and Peter Wood patches.
|
||||
2005-12-08
|
||||
|
||||
The Dojo Toolkit (including this package) is dual licensed under BSD 3-Clause and AFL.
|
||||
The Dojo Toolkit is Copyright (c) 2005-2016, The Dojo Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Blowfish.js from Dojo Toolkit 1.8.1
|
||||
* Cut of by Sladex (xslade@gmail.com)
|
||||
*
|
||||
* Usage:
|
||||
* blowfish.encrypt(String 'subj to encrypt', String 'key', Object {outputType: 1, cipherMode: 0});
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
(function(global){
|
||||
|
||||
var crypto = {};
|
||||
|
||||
|
||||
|
||||
/* dojo-release-1.8.1/dojox/encoding/crypto/_base.js.uncompressed.js */
|
||||
|
||||
crypto.cipherModes = {
|
||||
// summary:
|
||||
// Enumeration for various cipher modes.
|
||||
ECB:0, CBC:1, PCBC:2, CFB:3, OFB:4, CTR:5
|
||||
};
|
||||
crypto.outputTypes = {
|
||||
// summary:
|
||||
// Enumeration for input and output encodings.
|
||||
Base64:0, Hex:1, String:2, Raw:3
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* dojo-release-1.8.1/dojox/encoding/base64.js.uncompressed.js */
|
||||
|
||||
var base64 = {};
|
||||
var p="=";
|
||||
var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||
|
||||
base64.encode=function(/* byte[] */ba){
|
||||
// summary:
|
||||
// Encode an array of bytes as a base64-encoded string
|
||||
var s=[], l=ba.length;
|
||||
var rm=l%3;
|
||||
var x=l-rm;
|
||||
for (var i=0; i<x;){
|
||||
var t=ba[i++]<<16|ba[i++]<<8|ba[i++];
|
||||
s.push(tab.charAt((t>>>18)&0x3f));
|
||||
s.push(tab.charAt((t>>>12)&0x3f));
|
||||
s.push(tab.charAt((t>>>6)&0x3f));
|
||||
s.push(tab.charAt(t&0x3f));
|
||||
}
|
||||
// deal with trailers, based on patch from Peter Wood.
|
||||
switch(rm){
|
||||
case 2:{
|
||||
var t=ba[i++]<<16|ba[i++]<<8;
|
||||
s.push(tab.charAt((t>>>18)&0x3f));
|
||||
s.push(tab.charAt((t>>>12)&0x3f));
|
||||
s.push(tab.charAt((t>>>6)&0x3f));
|
||||
s.push(p);
|
||||
break;
|
||||
}
|
||||
case 1:{
|
||||
var t=ba[i++]<<16;
|
||||
s.push(tab.charAt((t>>>18)&0x3f));
|
||||
s.push(tab.charAt((t>>>12)&0x3f));
|
||||
s.push(p);
|
||||
s.push(p);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return s.join(""); // string
|
||||
};
|
||||
|
||||
base64.decode=function(/* string */str){
|
||||
// summary:
|
||||
// Convert a base64-encoded string to an array of bytes
|
||||
var s=str.split(""), out=[];
|
||||
var l=s.length;
|
||||
while(s[--l]==p){ } // strip off trailing padding
|
||||
for (var i=0; i<l;){
|
||||
var t=tab.indexOf(s[i++])<<18;
|
||||
if(i<=l){ t|=tab.indexOf(s[i++])<<12 };
|
||||
if(i<=l){ t|=tab.indexOf(s[i++])<<6 };
|
||||
if(i<=l){ t|=tab.indexOf(s[i++]) };
|
||||
out.push((t>>>16)&0xff);
|
||||
out.push((t>>>8)&0xff);
|
||||
out.push(t&0xff);
|
||||
}
|
||||
// strip off any null bytes
|
||||
while(out[out.length-1]==0){ out.pop(); }
|
||||
return out; // byte[]
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* dojo-release-1.8.1/dojo/_base/lang.js.uncompressed.js */
|
||||
|
||||
var lang = {};
|
||||
lang.isString = function(it){
|
||||
// summary:
|
||||
// Return true if it is a String
|
||||
// it: anything
|
||||
// Item to test.
|
||||
return (typeof it == "string" || it instanceof String); // Boolean
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* dojo-release-1.8.1/dojo/_base/array.js.uncompressed.js */
|
||||
|
||||
var arrayUtil = {};
|
||||
arrayUtil.map = function(arr, callback, thisObject, Ctr){
|
||||
// summary:
|
||||
// applies callback to each element of arr and returns
|
||||
// an Array with the results
|
||||
// arr: Array|String
|
||||
// the array to iterate on. If a string, operates on
|
||||
// individual characters.
|
||||
// callback: Function|String
|
||||
// a function is invoked with three arguments, (item, index,
|
||||
// array), and returns a value
|
||||
// thisObject: Object?
|
||||
// may be used to scope the call to callback
|
||||
// returns: Array
|
||||
// description:
|
||||
// This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
|
||||
// run over sparse arrays, this implementation passes the "holes" in the sparse array to
|
||||
// the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
|
||||
// For more details, see:
|
||||
// https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
|
||||
// example:
|
||||
// | // returns [2, 3, 4, 5]
|
||||
// | array.map([1, 2, 3, 4], function(item){ return item+1 });
|
||||
|
||||
// TODO: why do we have a non-standard signature here? do we need "Ctr"?
|
||||
var i = 0, l = arr && arr.length || 0, out = new (Ctr || Array)(l);
|
||||
if(l && typeof arr == "string") arr = arr.split("");
|
||||
if(typeof callback == "string") callback = cache[callback] || buildFn(callback);
|
||||
if(thisObject){
|
||||
for(; i < l; ++i){
|
||||
out[i] = callback.call(thisObject, arr[i], i, arr);
|
||||
}
|
||||
}else{
|
||||
for(; i < l; ++i){
|
||||
out[i] = callback(arr[i], i, arr);
|
||||
}
|
||||
}
|
||||
return out; // Array
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* dojo-release-1.8.1/dojox/encoding/crypto/Blowfish.js.uncompressed.js */
|
||||
|
||||
/* Blowfish
|
||||
* Created based on the C# implementation by Marcus Hahn (http://www.hotpixel.net/)
|
||||
* Unsigned math based on Paul Johnstone and Peter Wood patches.
|
||||
* 2005-12-08
|
||||
*/
|
||||
crypto.Blowfish = new function(){
|
||||
// summary:
|
||||
// Object for doing Blowfish encryption/decryption.
|
||||
var POW2=Math.pow(2,2);
|
||||
var POW3=Math.pow(2,3);
|
||||
var POW4=Math.pow(2,4);
|
||||
var POW8=Math.pow(2,8);
|
||||
var POW16=Math.pow(2,16);
|
||||
var POW24=Math.pow(2,24);
|
||||
var iv=null; // CBC mode initialization vector
|
||||
var boxes={
|
||||
p:[
|
||||
0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89,
|
||||
0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917,
|
||||
0x9216d5d9, 0x8979fb1b
|
||||
],
|
||||
s0:[
|
||||
0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,
|
||||
0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
|
||||
0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
|
||||
0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
|
||||
0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
|
||||
0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
|
||||
0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677,
|
||||
0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032,
|
||||
0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,
|
||||
0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0,
|
||||
0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98,
|
||||
0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,
|
||||
0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d,
|
||||
0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7,
|
||||
0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,
|
||||
0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09,
|
||||
0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb,
|
||||
0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,
|
||||
0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82,
|
||||
0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573,
|
||||
0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,
|
||||
0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8,
|
||||
0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0,
|
||||
0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,
|
||||
0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1,
|
||||
0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9,
|
||||
0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,
|
||||
0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af,
|
||||
0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5,
|
||||
0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,
|
||||
0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915,
|
||||
0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a
|
||||
],
|
||||
s1:[
|
||||
0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,
|
||||
0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e,
|
||||
0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,
|
||||
0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,
|
||||
0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8,
|
||||
0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd,
|
||||
0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,
|
||||
0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331,
|
||||
0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af,
|
||||
0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,
|
||||
0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2,
|
||||
0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd,
|
||||
0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,
|
||||
0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3,
|
||||
0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a,
|
||||
0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,
|
||||
0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28,
|
||||
0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,
|
||||
0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,
|
||||
0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e,
|
||||
0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7,
|
||||
0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,
|
||||
0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696,
|
||||
0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73,
|
||||
0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,
|
||||
0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250,
|
||||
0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285,
|
||||
0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,
|
||||
0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e,
|
||||
0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc,
|
||||
0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,
|
||||
0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7
|
||||
],
|
||||
s2:[
|
||||
0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,
|
||||
0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,
|
||||
0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504,
|
||||
0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb,
|
||||
0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,
|
||||
0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b,
|
||||
0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb,
|
||||
0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,
|
||||
0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c,
|
||||
0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc,
|
||||
0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,
|
||||
0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115,
|
||||
0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728,
|
||||
0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,
|
||||
0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d,
|
||||
0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b,
|
||||
0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,
|
||||
0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c,
|
||||
0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9,
|
||||
0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,
|
||||
0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc,
|
||||
0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61,
|
||||
0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,
|
||||
0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c,
|
||||
0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633,
|
||||
0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,
|
||||
0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027,
|
||||
0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62,
|
||||
0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,
|
||||
0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc,
|
||||
0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,
|
||||
0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0
|
||||
],
|
||||
s3:[
|
||||
0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe,
|
||||
0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4,
|
||||
0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,
|
||||
0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22,
|
||||
0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6,
|
||||
0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,
|
||||
0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51,
|
||||
0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c,
|
||||
0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,
|
||||
0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd,
|
||||
0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319,
|
||||
0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,
|
||||
0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32,
|
||||
0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166,
|
||||
0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,
|
||||
0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47,
|
||||
0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d,
|
||||
0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,
|
||||
0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd,
|
||||
0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7,
|
||||
0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,
|
||||
0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525,
|
||||
0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442,
|
||||
0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,
|
||||
0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d,
|
||||
0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299,
|
||||
0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,
|
||||
0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a,
|
||||
0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b,
|
||||
0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,
|
||||
0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9,
|
||||
0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6
|
||||
]
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// fixes based on patch submitted by Peter Wood (#5791)
|
||||
function add(x,y){
|
||||
return (((x>>0x10)+(y>>0x10)+(((x&0xffff)+(y&0xffff))>>0x10))<<0x10)|(((x&0xffff)+(y&0xffff))&0xffff);
|
||||
}
|
||||
function xor(x,y){
|
||||
return (((x>>0x10)^(y>>0x10))<<0x10)|(((x&0xffff)^(y&0xffff))&0xffff);
|
||||
}
|
||||
|
||||
function $(v, box){
|
||||
var d=box.s3[v&0xff]; v>>=8;
|
||||
var c=box.s2[v&0xff]; v>>=8;
|
||||
var b=box.s1[v&0xff]; v>>=8;
|
||||
var a=box.s0[v&0xff];
|
||||
|
||||
var r = (((a>>0x10)+(b>>0x10)+(((a&0xffff)+(b&0xffff))>>0x10))<<0x10)|(((a&0xffff)+(b&0xffff))&0xffff);
|
||||
r = (((r>>0x10)^(c>>0x10))<<0x10)|(((r&0xffff)^(c&0xffff))&0xffff);
|
||||
return (((r>>0x10)+(d>>0x10)+(((r&0xffff)+(d&0xffff))>>0x10))<<0x10)|(((r&0xffff)+(d&0xffff))&0xffff);
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
function eb(o, box){
|
||||
// TODO: see if this can't be made more efficient
|
||||
var l=o.left;
|
||||
var r=o.right;
|
||||
l=xor(l,box.p[0]);
|
||||
r=xor(r,xor($(l,box),box.p[1]));
|
||||
l=xor(l,xor($(r,box),box.p[2]));
|
||||
r=xor(r,xor($(l,box),box.p[3]));
|
||||
l=xor(l,xor($(r,box),box.p[4]));
|
||||
r=xor(r,xor($(l,box),box.p[5]));
|
||||
l=xor(l,xor($(r,box),box.p[6]));
|
||||
r=xor(r,xor($(l,box),box.p[7]));
|
||||
l=xor(l,xor($(r,box),box.p[8]));
|
||||
r=xor(r,xor($(l,box),box.p[9]));
|
||||
l=xor(l,xor($(r,box),box.p[10]));
|
||||
r=xor(r,xor($(l,box),box.p[11]));
|
||||
l=xor(l,xor($(r,box),box.p[12]));
|
||||
r=xor(r,xor($(l,box),box.p[13]));
|
||||
l=xor(l,xor($(r,box),box.p[14]));
|
||||
r=xor(r,xor($(l,box),box.p[15]));
|
||||
l=xor(l,xor($(r,box),box.p[16]));
|
||||
o.right=l;
|
||||
o.left=xor(r,box.p[17]);
|
||||
}
|
||||
|
||||
function db(o, box){
|
||||
var l=o.left;
|
||||
var r=o.right;
|
||||
l=xor(l,box.p[17]);
|
||||
r=xor(r,xor($(l,box),box.p[16]));
|
||||
l=xor(l,xor($(r,box),box.p[15]));
|
||||
r=xor(r,xor($(l,box),box.p[14]));
|
||||
l=xor(l,xor($(r,box),box.p[13]));
|
||||
r=xor(r,xor($(l,box),box.p[12]));
|
||||
l=xor(l,xor($(r,box),box.p[11]));
|
||||
r=xor(r,xor($(l,box),box.p[10]));
|
||||
l=xor(l,xor($(r,box),box.p[9]));
|
||||
r=xor(r,xor($(l,box),box.p[8]));
|
||||
l=xor(l,xor($(r,box),box.p[7]));
|
||||
r=xor(r,xor($(l,box),box.p[6]));
|
||||
l=xor(l,xor($(r,box),box.p[5]));
|
||||
r=xor(r,xor($(l,box),box.p[4]));
|
||||
l=xor(l,xor($(r,box),box.p[3]));
|
||||
r=xor(r,xor($(l,box),box.p[2]));
|
||||
l=xor(l,xor($(r,box),box.p[1]));
|
||||
o.right=l;
|
||||
o.left=xor(r,box.p[0]);
|
||||
}
|
||||
|
||||
// Note that we aren't caching contexts here; it might take a little longer
|
||||
// but we should be more secure this way.
|
||||
function init(key){
|
||||
var k=key;
|
||||
if(lang.isString(k)){
|
||||
k = arrayUtil.map(k.split(""), function(item){
|
||||
return item.charCodeAt(0) & 0xff;
|
||||
});
|
||||
}
|
||||
|
||||
// init the boxes
|
||||
var pos=0, data=0, res={ left:0, right:0 }, i, j, l;
|
||||
var box = {
|
||||
p: arrayUtil.map(boxes.p.slice(0), function(item){
|
||||
var l=k.length, j;
|
||||
for(j=0; j<4; j++){ data=(data*POW8)|k[pos++ % l]; }
|
||||
return (((item>>0x10)^(data>>0x10))<<0x10)|(((item&0xffff)^(data&0xffff))&0xffff);
|
||||
}),
|
||||
s0:boxes.s0.slice(0),
|
||||
s1:boxes.s1.slice(0),
|
||||
s2:boxes.s2.slice(0),
|
||||
s3:boxes.s3.slice(0)
|
||||
};
|
||||
|
||||
// encrypt p and the s boxes
|
||||
for(i=0, l=box.p.length; i<l;){
|
||||
eb(res, box);
|
||||
box.p[i++]=res.left, box.p[i++]=res.right;
|
||||
}
|
||||
for(i=0; i<4; i++){
|
||||
for(j=0, l=box["s"+i].length; j<l;){
|
||||
eb(res, box);
|
||||
box["s"+i][j++]=res.left, box["s"+i][j++]=res.right;
|
||||
}
|
||||
}
|
||||
return box;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// PUBLIC FUNCTIONS
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
this.getIV=function(/* dojox.encoding.crypto.outputTypes? */ outputType){
|
||||
// summary:
|
||||
// returns the initialization vector in the output format specified by outputType
|
||||
var out=outputType||crypto.outputTypes.Base64;
|
||||
switch(out){
|
||||
case crypto.outputTypes.Hex:{
|
||||
return arrayUtil.map(iv, function(item){
|
||||
return (item<=0xf?'0':'')+item.toString(16);
|
||||
}).join(""); // string
|
||||
}
|
||||
case crypto.outputTypes.String:{
|
||||
return iv.join(""); // string
|
||||
}
|
||||
case crypto.outputTypes.Raw:{
|
||||
return iv; // array
|
||||
}
|
||||
default:{
|
||||
return base64.encode(iv); // string
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.setIV=function(/* string */data, /* dojox.encoding.crypto.outputTypes? */inputType){
|
||||
// summary:
|
||||
// sets the initialization vector to data (as interpreted as inputType)
|
||||
var ip=inputType||crypto.outputTypes.Base64;
|
||||
var ba=null;
|
||||
switch(ip){
|
||||
case crypto.outputTypes.String:{
|
||||
ba = arrayUtil.map(data.split(""), function(item){
|
||||
return item.charCodeAt(0);
|
||||
});
|
||||
break;
|
||||
}
|
||||
case crypto.outputTypes.Hex:{
|
||||
ba=[];
|
||||
for(var i=0, l=data.length-1; i<l; i+=2){
|
||||
ba.push(parseInt(data.substr(i,2), 16));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case crypto.outputTypes.Raw:{
|
||||
ba=data;
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
ba=base64.decode(data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// make it a pair of words now
|
||||
iv={};
|
||||
iv.left=ba[0]*POW24|ba[1]*POW16|ba[2]*POW8|ba[3];
|
||||
iv.right=ba[4]*POW24|ba[5]*POW16|ba[6]*POW8|ba[7];
|
||||
};
|
||||
|
||||
this.encrypt = function(/* string */plaintext, /* string */key, /* object? */ao){
|
||||
// summary:
|
||||
// encrypts plaintext using key; allows user to specify output type and cipher mode via keyword object "ao"
|
||||
var out=crypto.outputTypes.Base64;
|
||||
var mode=crypto.cipherModes.ECB;
|
||||
if (ao){
|
||||
if (ao.outputType) out=ao.outputType;
|
||||
if (ao.cipherMode) mode=ao.cipherMode;
|
||||
}
|
||||
|
||||
var bx = init(key), padding = 8-(plaintext.length&7);
|
||||
for (var i=0; i<padding; i++){ plaintext+=String.fromCharCode(padding); }
|
||||
|
||||
var cipher=[], count=plaintext.length >> 3, pos=0, o={}, isCBC=(mode==crypto.cipherModes.CBC);
|
||||
var vector={left:iv.left||null, right:iv.right||null};
|
||||
for(var i=0; i<count; i++){
|
||||
o.left=plaintext.charCodeAt(pos)*POW24
|
||||
|plaintext.charCodeAt(pos+1)*POW16
|
||||
|plaintext.charCodeAt(pos+2)*POW8
|
||||
|plaintext.charCodeAt(pos+3);
|
||||
o.right=plaintext.charCodeAt(pos+4)*POW24
|
||||
|plaintext.charCodeAt(pos+5)*POW16
|
||||
|plaintext.charCodeAt(pos+6)*POW8
|
||||
|plaintext.charCodeAt(pos+7);
|
||||
|
||||
if(isCBC){
|
||||
o.left=(((o.left>>0x10)^(vector.left>>0x10))<<0x10)|(((o.left&0xffff)^(vector.left&0xffff))&0xffff);
|
||||
o.right=(((o.right>>0x10)^(vector.right>>0x10))<<0x10)|(((o.right&0xffff)^(vector.right&0xffff))&0xffff);
|
||||
}
|
||||
|
||||
eb(o, bx); // encrypt the block
|
||||
|
||||
if(isCBC){
|
||||
vector.left=o.left;
|
||||
vector.right=o.right;
|
||||
}
|
||||
|
||||
cipher.push((o.left>>24)&0xff);
|
||||
cipher.push((o.left>>16)&0xff);
|
||||
cipher.push((o.left>>8)&0xff);
|
||||
cipher.push(o.left&0xff);
|
||||
cipher.push((o.right>>24)&0xff);
|
||||
cipher.push((o.right>>16)&0xff);
|
||||
cipher.push((o.right>>8)&0xff);
|
||||
cipher.push(o.right&0xff);
|
||||
pos+=8;
|
||||
}
|
||||
|
||||
switch(out){
|
||||
case crypto.outputTypes.Hex:{
|
||||
return arrayUtil.map(cipher, function(item){
|
||||
return (item<=0xf?'0':'')+item.toString(16);
|
||||
}).join(""); // string
|
||||
}
|
||||
case crypto.outputTypes.String:{
|
||||
return cipher.join(""); // string
|
||||
}
|
||||
case crypto.outputTypes.Raw:{
|
||||
return cipher; // array
|
||||
}
|
||||
default:{
|
||||
return base64.encode(cipher); // string
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.decrypt = function(/* string */ciphertext, /* string */key, /* object? */ao){
|
||||
// summary:
|
||||
// decrypts ciphertext using key; allows specification of how ciphertext is encoded via ao.
|
||||
var ip=crypto.outputTypes.Base64;
|
||||
var mode=crypto.cipherModes.ECB;
|
||||
if (ao){
|
||||
if (ao.outputType) ip=ao.outputType;
|
||||
if (ao.cipherMode) mode=ao.cipherMode;
|
||||
}
|
||||
var bx = init(key);
|
||||
var pt=[];
|
||||
|
||||
var c=null;
|
||||
switch(ip){
|
||||
case crypto.outputTypes.Hex:{
|
||||
c = [];
|
||||
for(var i=0, l=ciphertext.length-1; i<l; i+=2){
|
||||
c.push(parseInt(ciphertext.substr(i,2), 16));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case crypto.outputTypes.String:{
|
||||
c = arrayUtil.map(ciphertext.split(""), function(item){
|
||||
return item.charCodeAt(0);
|
||||
});
|
||||
break;
|
||||
}
|
||||
case crypto.outputTypes.Raw:{
|
||||
c=ciphertext; // should be a byte array
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
c=base64.decode(ciphertext);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var count=c.length >> 3, pos=0, o={}, isCBC=(mode==crypto.cipherModes.CBC);
|
||||
var vector={left:iv.left||null, right:iv.right||null};
|
||||
for(var i=0; i<count; i++){
|
||||
o.left=c[pos]*POW24|c[pos+1]*POW16|c[pos+2]*POW8|c[pos+3];
|
||||
o.right=c[pos+4]*POW24|c[pos+5]*POW16|c[pos+6]*POW8|c[pos+7];
|
||||
|
||||
if(isCBC){
|
||||
var left=o.left;
|
||||
var right=o.right;
|
||||
}
|
||||
|
||||
db(o, bx); // decrypt the block
|
||||
|
||||
if(isCBC){
|
||||
o.left=(((o.left>>0x10)^(vector.left>>0x10))<<0x10)|(((o.left&0xffff)^(vector.left&0xffff))&0xffff);
|
||||
o.right=(((o.right>>0x10)^(vector.right>>0x10))<<0x10)|(((o.right&0xffff)^(vector.right&0xffff))&0xffff);
|
||||
vector.left=left;
|
||||
vector.right=right;
|
||||
}
|
||||
|
||||
pt.push((o.left>>24)&0xff);
|
||||
pt.push((o.left>>16)&0xff);
|
||||
pt.push((o.left>>8)&0xff);
|
||||
pt.push(o.left&0xff);
|
||||
pt.push((o.right>>24)&0xff);
|
||||
pt.push((o.right>>16)&0xff);
|
||||
pt.push((o.right>>8)&0xff);
|
||||
pt.push(o.right&0xff);
|
||||
pos+=8;
|
||||
}
|
||||
|
||||
// check for padding, and remove.
|
||||
if(pt[pt.length-1]==pt[pt.length-2]||pt[pt.length-1]==0x01){
|
||||
var n=pt[pt.length-1];
|
||||
pt.splice(pt.length-n, n);
|
||||
}
|
||||
|
||||
// convert to string
|
||||
return arrayUtil.map(pt, function(item){
|
||||
return String.fromCharCode(item);
|
||||
}).join(""); // string
|
||||
};
|
||||
|
||||
this.setIV("0000000000000000", crypto.outputTypes.Hex);
|
||||
}();
|
||||
|
||||
|
||||
|
||||
if (typeof exports != 'undefined') {
|
||||
exports.blowfish = crypto.Blowfish;
|
||||
} else {
|
||||
global.blowfish = crypto.Blowfish;
|
||||
}
|
||||
|
||||
}(this));
|
||||
Vendored
-2372
File diff suppressed because it is too large.
Load diff
Vendored
-1116
File diff suppressed because it is too large.
Load diff
Vendored
-583
@@ -1,583 +0,0 @@
|
||||
/** @license
|
||||
========================================================================
|
||||
bootstrap-switch - v3.1.0
|
||||
http://www.bootstrap-switch.org
|
||||
Copyright 2012-2013 Mattia Larentis
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
(function() {
|
||||
var __slice = [].slice;
|
||||
|
||||
(function($, window) {
|
||||
"use strict";
|
||||
var BootstrapSwitch;
|
||||
BootstrapSwitch = (function() {
|
||||
function BootstrapSwitch(element, options) {
|
||||
if (options == null) {
|
||||
options = {};
|
||||
}
|
||||
this.$element = $(element);
|
||||
this.options = $.extend({}, $.fn.bootstrapSwitch.defaults, {
|
||||
state: this.$element.is(":checked"),
|
||||
size: this.$element.data("size"),
|
||||
animate: this.$element.data("animate"),
|
||||
disabled: this.$element.is(":disabled"),
|
||||
readonly: this.$element.is("[readonly]"),
|
||||
indeterminate: this.$element.data("indeterminate"),
|
||||
inverse: this.$element.data("inverse"),
|
||||
radioAllOff: this.$element.data("radio-all-off"),
|
||||
onColor: this.$element.data("on-color"),
|
||||
offColor: this.$element.data("off-color"),
|
||||
onText: this.$element.data("on-text"),
|
||||
offText: this.$element.data("off-text"),
|
||||
labelText: this.$element.data("label-text"),
|
||||
baseClass: this.$element.data("base-class"),
|
||||
wrapperClass: this.$element.data("wrapper-class")
|
||||
}, options);
|
||||
this.$wrapper = $("<div>", {
|
||||
"class": (function(_this) {
|
||||
return function() {
|
||||
var classes;
|
||||
classes = ["" + _this.options.baseClass].concat(_this._getClasses(_this.options.wrapperClass));
|
||||
classes.push(_this.options.state ? "" + _this.options.baseClass + "-on" : "" + _this.options.baseClass + "-off");
|
||||
if (_this.options.size != null) {
|
||||
classes.push("" + _this.options.baseClass + "-" + _this.options.size);
|
||||
}
|
||||
if (_this.options.animate) {
|
||||
classes.push("" + _this.options.baseClass + "-animate");
|
||||
}
|
||||
if (_this.options.disabled) {
|
||||
classes.push("" + _this.options.baseClass + "-disabled");
|
||||
}
|
||||
if (_this.options.readonly) {
|
||||
classes.push("" + _this.options.baseClass + "-readonly");
|
||||
}
|
||||
if (_this.options.indeterminate) {
|
||||
classes.push("" + _this.options.baseClass + "-indeterminate");
|
||||
}
|
||||
if (_this.options.inverse) {
|
||||
classes.push("" + _this.options.baseClass + "-inverse");
|
||||
}
|
||||
if (_this.$element.attr("id")) {
|
||||
classes.push("" + _this.options.baseClass + "-id-" + (_this.$element.attr("id")));
|
||||
}
|
||||
return classes.join(" ");
|
||||
};
|
||||
})(this)()
|
||||
});
|
||||
this.$container = $("<div>", {
|
||||
"class": "" + this.options.baseClass + "-container"
|
||||
});
|
||||
this.$on = $("<span>", {
|
||||
html: this.options.onText,
|
||||
"class": "" + this.options.baseClass + "-handle-on " + this.options.baseClass + "-" + this.options.onColor
|
||||
});
|
||||
this.$off = $("<span>", {
|
||||
html: this.options.offText,
|
||||
"class": "" + this.options.baseClass + "-handle-off " + this.options.baseClass + "-" + this.options.offColor
|
||||
});
|
||||
this.$label = $("<label>", {
|
||||
html: this.options.labelText,
|
||||
"class": "" + this.options.baseClass + "-label"
|
||||
});
|
||||
if (this.options.indeterminate) {
|
||||
this.$element.prop("indeterminate", true);
|
||||
}
|
||||
this.$element.on("init.bootstrapSwitch", (function(_this) {
|
||||
return function() {
|
||||
return _this.options.onInit.apply(element, arguments);
|
||||
};
|
||||
})(this));
|
||||
this.$element.on("switchChange.bootstrapSwitch", (function(_this) {
|
||||
return function() {
|
||||
return _this.options.onSwitchChange.apply(element, arguments);
|
||||
};
|
||||
})(this));
|
||||
this.$container = this.$element.wrap(this.$container).parent();
|
||||
this.$wrapper = this.$container.wrap(this.$wrapper).parent();
|
||||
this.$element.before(this.options.inverse ? this.$off : this.$on).before(this.$label).before(this.options.inverse ? this.$on : this.$off).trigger("init.bootstrapSwitch");
|
||||
this._elementHandlers();
|
||||
this._handleHandlers();
|
||||
this._labelHandlers();
|
||||
this._formHandler();
|
||||
}
|
||||
|
||||
BootstrapSwitch.prototype._constructor = BootstrapSwitch;
|
||||
|
||||
BootstrapSwitch.prototype.state = function(value, skip) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.state;
|
||||
}
|
||||
if (this.options.disabled || this.options.readonly) {
|
||||
return this.$element;
|
||||
}
|
||||
if (this.options.state && !this.options.radioAllOff && this.$element.is(':radio')) {
|
||||
return this.$element;
|
||||
}
|
||||
if (this.options.indeterminate) {
|
||||
this.indeterminate(false);
|
||||
value = true;
|
||||
} else {
|
||||
value = !!value;
|
||||
}
|
||||
this.$element.prop("checked", value).trigger("change.bootstrapSwitch", skip);
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.toggleState = function(skip) {
|
||||
if (this.options.disabled || this.options.readonly) {
|
||||
return this.$element;
|
||||
}
|
||||
if (this.options.indeterminate) {
|
||||
this.indeterminate(false);
|
||||
return this.state(true);
|
||||
} else {
|
||||
return this.$element.prop("checked", !this.options.state).trigger("change.bootstrapSwitch", skip);
|
||||
}
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.size = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.size;
|
||||
}
|
||||
if (this.options.size != null) {
|
||||
this.$wrapper.removeClass("" + this.options.baseClass + "-" + this.options.size);
|
||||
}
|
||||
if (value) {
|
||||
this.$wrapper.addClass("" + this.options.baseClass + "-" + value);
|
||||
}
|
||||
this.options.size = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.animate = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.animate;
|
||||
}
|
||||
value = !!value;
|
||||
this.$wrapper[value ? "addClass" : "removeClass"]("" + this.options.baseClass + "-animate");
|
||||
this.options.animate = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.toggleAnimate = function() {
|
||||
this.$wrapper.toggleClass("" + this.options.baseClass + "-animate");
|
||||
this.options.animate = !this.options.animate;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.disabled = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.disabled;
|
||||
}
|
||||
value = !!value;
|
||||
this.$wrapper[value ? "addClass" : "removeClass"]("" + this.options.baseClass + "-disabled");
|
||||
this.$element.prop("disabled", value);
|
||||
this.options.disabled = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.toggleDisabled = function() {
|
||||
this.$element.prop("disabled", !this.options.disabled);
|
||||
this.$wrapper.toggleClass("" + this.options.baseClass + "-disabled");
|
||||
this.options.disabled = !this.options.disabled;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.readonly = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.readonly;
|
||||
}
|
||||
value = !!value;
|
||||
this.$wrapper[value ? "addClass" : "removeClass"]("" + this.options.baseClass + "-readonly");
|
||||
this.$element.prop("readonly", value);
|
||||
this.options.readonly = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.toggleReadonly = function() {
|
||||
this.$element.prop("readonly", !this.options.readonly);
|
||||
this.$wrapper.toggleClass("" + this.options.baseClass + "-readonly");
|
||||
this.options.readonly = !this.options.readonly;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.indeterminate = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.indeterminate;
|
||||
}
|
||||
value = !!value;
|
||||
this.$wrapper[value ? "addClass" : "removeClass"]("" + this.options.baseClass + "-indeterminate");
|
||||
this.$element.prop("indeterminate", value);
|
||||
this.options.indeterminate = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.toggleIndeterminate = function() {
|
||||
this.$element.prop("indeterminate", !this.options.indeterminate);
|
||||
this.$wrapper.toggleClass("" + this.options.baseClass + "-indeterminate");
|
||||
this.options.indeterminate = !this.options.indeterminate;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.inverse = function(value) {
|
||||
var $off, $on;
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.inverse;
|
||||
}
|
||||
value = !!value;
|
||||
this.$wrapper[value ? "addClass" : "removeClass"]("" + this.options.baseClass + "-inverse");
|
||||
$on = this.$on.clone(true);
|
||||
$off = this.$off.clone(true);
|
||||
this.$on.replaceWith($off);
|
||||
this.$off.replaceWith($on);
|
||||
this.$on = $off;
|
||||
this.$off = $on;
|
||||
this.options.inverse = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.toggleInverse = function() {
|
||||
var $off, $on;
|
||||
this.$wrapper.toggleClass("" + this.options.baseClass + "-inverse");
|
||||
$on = this.$on.clone(true);
|
||||
$off = this.$off.clone(true);
|
||||
this.$on.replaceWith($off);
|
||||
this.$off.replaceWith($on);
|
||||
this.$on = $off;
|
||||
this.$off = $on;
|
||||
this.options.inverse = !this.options.inverse;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.onColor = function(value) {
|
||||
var color;
|
||||
color = this.options.onColor;
|
||||
if (typeof value === "undefined") {
|
||||
return color;
|
||||
}
|
||||
if (color != null) {
|
||||
this.$on.removeClass("" + this.options.baseClass + "-" + color);
|
||||
}
|
||||
this.$on.addClass("" + this.options.baseClass + "-" + value);
|
||||
this.options.onColor = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.offColor = function(value) {
|
||||
var color;
|
||||
color = this.options.offColor;
|
||||
if (typeof value === "undefined") {
|
||||
return color;
|
||||
}
|
||||
if (color != null) {
|
||||
this.$off.removeClass("" + this.options.baseClass + "-" + color);
|
||||
}
|
||||
this.$off.addClass("" + this.options.baseClass + "-" + value);
|
||||
this.options.offColor = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.onText = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.onText;
|
||||
}
|
||||
this.$on.html(value);
|
||||
this.options.onText = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.offText = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.offText;
|
||||
}
|
||||
this.$off.html(value);
|
||||
this.options.offText = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.labelText = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.labelText;
|
||||
}
|
||||
this.$label.html(value);
|
||||
this.options.labelText = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.baseClass = function(value) {
|
||||
return this.options.baseClass;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.wrapperClass = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.wrapperClass;
|
||||
}
|
||||
if (!value) {
|
||||
value = $.fn.bootstrapSwitch.defaults.wrapperClass;
|
||||
}
|
||||
this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(" "));
|
||||
this.$wrapper.addClass(this._getClasses(value).join(" "));
|
||||
this.options.wrapperClass = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.radioAllOff = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.radioAllOff;
|
||||
}
|
||||
this.options.radioAllOff = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.onInit = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.onInit;
|
||||
}
|
||||
if (!value) {
|
||||
value = $.fn.bootstrapSwitch.defaults.onInit;
|
||||
}
|
||||
this.options.onInit = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.onSwitchChange = function(value) {
|
||||
if (typeof value === "undefined") {
|
||||
return this.options.onSwitchChange;
|
||||
}
|
||||
if (!value) {
|
||||
value = $.fn.bootstrapSwitch.defaults.onSwitchChange;
|
||||
}
|
||||
this.options.onSwitchChange = value;
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype.destroy = function() {
|
||||
var $form;
|
||||
$form = this.$element.closest("form");
|
||||
if ($form.length) {
|
||||
$form.off("reset.bootstrapSwitch").removeData("bootstrap-switch");
|
||||
}
|
||||
this.$container.children().not(this.$element).remove();
|
||||
this.$element.unwrap().unwrap().off(".bootstrapSwitch").removeData("bootstrap-switch");
|
||||
return this.$element;
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype._elementHandlers = function() {
|
||||
return this.$element.on({
|
||||
"change.bootstrapSwitch": (function(_this) {
|
||||
return function(e, skip) {
|
||||
var checked;
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
checked = _this.$element.is(":checked");
|
||||
if (checked === _this.options.state) {
|
||||
return;
|
||||
}
|
||||
_this.options.state = checked;
|
||||
_this.$wrapper.removeClass(checked ? "" + _this.options.baseClass + "-off" : "" + _this.options.baseClass + "-on").addClass(checked ? "" + _this.options.baseClass + "-on" : "" + _this.options.baseClass + "-off");
|
||||
if (!skip) {
|
||||
if (_this.$element.is(":radio")) {
|
||||
$("[name='" + (_this.$element.attr('name')) + "']").not(_this.$element).prop("checked", false).trigger("change.bootstrapSwitch", true);
|
||||
}
|
||||
return _this.$element.trigger("switchChange.bootstrapSwitch", [checked]);
|
||||
}
|
||||
};
|
||||
})(this),
|
||||
"focus.bootstrapSwitch": (function(_this) {
|
||||
return function(e) {
|
||||
e.preventDefault();
|
||||
return _this.$wrapper.addClass("" + _this.options.baseClass + "-focused");
|
||||
};
|
||||
})(this),
|
||||
"blur.bootstrapSwitch": (function(_this) {
|
||||
return function(e) {
|
||||
e.preventDefault();
|
||||
return _this.$wrapper.removeClass("" + _this.options.baseClass + "-focused");
|
||||
};
|
||||
})(this),
|
||||
"keydown.bootstrapSwitch": (function(_this) {
|
||||
return function(e) {
|
||||
if (!e.which || _this.options.disabled || _this.options.readonly) {
|
||||
return;
|
||||
}
|
||||
switch (e.which) {
|
||||
case 37:
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
return _this.state(false);
|
||||
case 39:
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
return _this.state(true);
|
||||
}
|
||||
};
|
||||
})(this)
|
||||
});
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype._handleHandlers = function() {
|
||||
this.$on.on("click.bootstrapSwitch", (function(_this) {
|
||||
return function(e) {
|
||||
_this.state(false);
|
||||
return _this.$element.trigger("focus.bootstrapSwitch");
|
||||
};
|
||||
})(this));
|
||||
return this.$off.on("click.bootstrapSwitch", (function(_this) {
|
||||
return function(e) {
|
||||
_this.state(true);
|
||||
return _this.$element.trigger("focus.bootstrapSwitch");
|
||||
};
|
||||
})(this));
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype._labelHandlers = function() {
|
||||
return this.$label.on({
|
||||
"mousemove.bootstrapSwitch touchmove.bootstrapSwitch": (function(_this) {
|
||||
return function(e) {
|
||||
var left, pageX, percent, right;
|
||||
if (!_this.isLabelDragging) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
_this.isLabelDragged = true;
|
||||
pageX = e.pageX || e.originalEvent.touches[0].pageX;
|
||||
percent = ((pageX - _this.$wrapper.offset().left) / _this.$wrapper.width()) * 100;
|
||||
left = 25;
|
||||
right = 75;
|
||||
if (_this.options.animate) {
|
||||
_this.$wrapper.removeClass("" + _this.options.baseClass + "-animate");
|
||||
}
|
||||
if (percent < left) {
|
||||
percent = left;
|
||||
} else if (percent > right) {
|
||||
percent = right;
|
||||
}
|
||||
_this.$container.css("margin-left", "" + (percent - right) + "%");
|
||||
return _this.$element.trigger("focus.bootstrapSwitch");
|
||||
};
|
||||
})(this),
|
||||
"mousedown.bootstrapSwitch touchstart.bootstrapSwitch": (function(_this) {
|
||||
return function(e) {
|
||||
if (_this.isLabelDragging || _this.options.disabled || _this.options.readonly) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
_this.isLabelDragging = true;
|
||||
return _this.$element.trigger("focus.bootstrapSwitch");
|
||||
};
|
||||
})(this),
|
||||
"mouseup.bootstrapSwitch touchend.bootstrapSwitch": (function(_this) {
|
||||
return function(e) {
|
||||
var state;
|
||||
if (!_this.isLabelDragging) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
if (_this.isLabelDragged) {
|
||||
state = parseInt(_this.$container.css("margin-left"), 10) > -(_this.$container.width() / 6);
|
||||
_this.isLabelDragged = false;
|
||||
_this.state(_this.options.inverse ? !state : state);
|
||||
if (_this.options.animate) {
|
||||
_this.$wrapper.addClass("" + _this.options.baseClass + "-animate");
|
||||
}
|
||||
_this.$container.css("margin-left", "");
|
||||
} else {
|
||||
_this.state(!_this.options.state);
|
||||
}
|
||||
return _this.isLabelDragging = false;
|
||||
};
|
||||
})(this),
|
||||
"mouseleave.bootstrapSwitch": (function(_this) {
|
||||
return function(e) {
|
||||
return _this.$label.trigger("mouseup.bootstrapSwitch");
|
||||
};
|
||||
})(this)
|
||||
});
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype._formHandler = function() {
|
||||
var $form;
|
||||
$form = this.$element.closest("form");
|
||||
if ($form.data("bootstrap-switch")) {
|
||||
return;
|
||||
}
|
||||
return $form.on("reset.bootstrapSwitch", function() {
|
||||
return window.setTimeout(function() {
|
||||
return $form.find("input").filter(function() {
|
||||
return $(this).data("bootstrap-switch");
|
||||
}).each(function() {
|
||||
return $(this).bootstrapSwitch("state", this.checked);
|
||||
});
|
||||
}, 1);
|
||||
}).data("bootstrap-switch", true);
|
||||
};
|
||||
|
||||
BootstrapSwitch.prototype._getClasses = function(classes) {
|
||||
var c, cls, _i, _len;
|
||||
if (!$.isArray(classes)) {
|
||||
return ["" + this.options.baseClass + "-" + classes];
|
||||
}
|
||||
cls = [];
|
||||
for (_i = 0, _len = classes.length; _i < _len; _i++) {
|
||||
c = classes[_i];
|
||||
cls.push("" + this.options.baseClass + "-" + c);
|
||||
}
|
||||
return cls;
|
||||
};
|
||||
|
||||
return BootstrapSwitch;
|
||||
|
||||
})();
|
||||
$.fn.bootstrapSwitch = function() {
|
||||
var args, option, ret;
|
||||
option = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
|
||||
ret = this;
|
||||
this.each(function() {
|
||||
var $this, data;
|
||||
$this = $(this);
|
||||
data = $this.data("bootstrap-switch");
|
||||
if (!data) {
|
||||
$this.data("bootstrap-switch", data = new BootstrapSwitch(this, option));
|
||||
}
|
||||
if (typeof option === "string") {
|
||||
return ret = data[option].apply(data, args);
|
||||
}
|
||||
});
|
||||
return ret;
|
||||
};
|
||||
$.fn.bootstrapSwitch.Constructor = BootstrapSwitch;
|
||||
return $.fn.bootstrapSwitch.defaults = {
|
||||
state: true,
|
||||
size: null,
|
||||
animate: true,
|
||||
disabled: false,
|
||||
readonly: false,
|
||||
indeterminate: false,
|
||||
inverse: false,
|
||||
radioAllOff: false,
|
||||
onColor: "primary",
|
||||
offColor: "default",
|
||||
onText: "ON",
|
||||
offText: "OFF",
|
||||
labelText: " ",
|
||||
baseClass: "bootstrap-switch",
|
||||
wrapperClass: "wrapper",
|
||||
onInit: function() {},
|
||||
onSwitchChange: function() {}
|
||||
};
|
||||
})(window.jQuery, window);
|
||||
|
||||
}).call(this);
|
||||
@@ -1,768 +0,0 @@
|
||||
/** @license
|
||||
========================================================================
|
||||
Crypto API for JavaScript - https://github.com/nf404/crypto-api
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 nf404
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*global module, require */
|
||||
(/**
|
||||
* @param {Object} root
|
||||
* @returns {CryptoApi}
|
||||
*/
|
||||
function (root) {
|
||||
'use strict';
|
||||
/**
|
||||
* @class CryptoApi
|
||||
* @classdesc Main class
|
||||
* @public
|
||||
*/
|
||||
var CryptoApi = function cryptoApi () {
|
||||
/**
|
||||
* @property Hashers
|
||||
* @type {Hashers}
|
||||
*/
|
||||
this.Hashers = new Hashers();
|
||||
/**
|
||||
* @property Encodes
|
||||
* @type {Encodes}
|
||||
*/
|
||||
this.Encodes = new Encodes();
|
||||
/**
|
||||
* @property Macs
|
||||
* @type {Macs}
|
||||
*/
|
||||
this.Macs = new Macs();
|
||||
/**
|
||||
* @property Tools
|
||||
* @type {Tools}
|
||||
*/
|
||||
this.Tools = new Tools();
|
||||
};
|
||||
|
||||
/**
|
||||
* @interface HasherInterface
|
||||
* @classdesc All hashers MUST implement this interface
|
||||
* @public
|
||||
*/
|
||||
var HasherInterface = function () {};
|
||||
/**
|
||||
* @memberOf HasherInterface
|
||||
* @constructor
|
||||
*/
|
||||
HasherInterface.prototype.constructor = function constructor() {};
|
||||
/**
|
||||
* @desc Process ready block
|
||||
* @memberOf HasherInterface
|
||||
* @method processBlock
|
||||
* @param {number[]} block
|
||||
*/
|
||||
HasherInterface.prototype.processBlock = function processBlock(block) {};
|
||||
/**
|
||||
* Update message
|
||||
* @memberOf HasherInterface
|
||||
* @method update
|
||||
* @param {string} message
|
||||
*/
|
||||
HasherInterface.prototype.update = function update(message) {};
|
||||
/**
|
||||
* @desc Process last block and return hash
|
||||
* @memberOf HasherInterface
|
||||
* @method finalize
|
||||
* @return {HashArray} hash
|
||||
*/
|
||||
HasherInterface.prototype.finalize = function finalize() {};
|
||||
|
||||
/**
|
||||
* @class BaseHasher
|
||||
* @param {string} name
|
||||
* @param {Object} options
|
||||
* @public
|
||||
*/
|
||||
var BaseHasher = function(name, options) {};
|
||||
BaseHasher.prototype.constructor = function (name, options) {
|
||||
/**
|
||||
* @desc Hasher name
|
||||
* @property name
|
||||
* @type {string}
|
||||
*/
|
||||
this.name = name;
|
||||
/**
|
||||
* @desc All algorithm variables that changed during process
|
||||
* @property state
|
||||
* @type {Object}
|
||||
*/
|
||||
this.state = {};
|
||||
/**
|
||||
* @desc Unprocessed Message
|
||||
* @memberof! BaseHasher#
|
||||
* @alias state.message
|
||||
* @type {number[]}
|
||||
*/
|
||||
this.state.message = [];
|
||||
/**
|
||||
* @desc Length of message
|
||||
* @memberof! BaseHasher#
|
||||
* @alias state.length
|
||||
* @type {number}
|
||||
*/
|
||||
this.state.length = 0;
|
||||
/**
|
||||
* @memberof! BaseHasher#
|
||||
* @alias state.options
|
||||
* @type {Object}
|
||||
*/
|
||||
this.state.options = options;
|
||||
this.blockUnits = [];
|
||||
};
|
||||
|
||||
/**
|
||||
* Size of unit in bytes (4 = 32 bits)
|
||||
* @memberOf BaseHasher
|
||||
* @member {number} unitSize
|
||||
* @static
|
||||
*/
|
||||
BaseHasher.prototype.unitSize = 4;
|
||||
/**
|
||||
* Bytes order in unit
|
||||
* 0 - normal
|
||||
* 1 - reverse
|
||||
* @memberOf BaseHasher
|
||||
* @member {number} unitOrder
|
||||
* @static
|
||||
*/
|
||||
BaseHasher.prototype.unitOrder = 0;
|
||||
/**
|
||||
* Size of block in units
|
||||
* @memberOf BaseHasher
|
||||
* @member {number} blockSize
|
||||
* @static
|
||||
*/
|
||||
BaseHasher.prototype.blockSize = 16;
|
||||
/**
|
||||
* Return current state
|
||||
* @memberOf BaseHasher
|
||||
* @method getState
|
||||
* @returns {Object}
|
||||
*/
|
||||
BaseHasher.prototype.getState = function getState() {
|
||||
return JSON.parse(JSON.stringify(this.state));
|
||||
};
|
||||
/**
|
||||
* Set state
|
||||
* @memberOf BaseHasher
|
||||
* @method setState
|
||||
* @param {Object} state
|
||||
* @return {HasherInterface}
|
||||
*/
|
||||
BaseHasher.prototype.setState = function setState(state) {
|
||||
this.state = state;
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Update message
|
||||
* @memberOf BaseHasher
|
||||
* @method update
|
||||
* @param {string} message
|
||||
*/
|
||||
BaseHasher.prototype.update = function update(message) {
|
||||
var l = 0;
|
||||
for (var i = 0, msgLen = message.length; i < msgLen; i++) {
|
||||
var charcode = message.charCodeAt(i);
|
||||
if (charcode < 0x80) {
|
||||
this.state.message.push(charcode);
|
||||
l += 1;
|
||||
}
|
||||
else if (charcode < 0x800) {
|
||||
this.state.message.push(0xc0 | (charcode >> 6),
|
||||
0x80 | (charcode & 0x3f));
|
||||
l += 2;
|
||||
}
|
||||
else if (charcode < 0xd800 || charcode >= 0xe000) {
|
||||
this.state.message.push(0xe0 | (charcode >> 12),
|
||||
0x80 | ((charcode >> 6) & 0x3f),
|
||||
0x80 | (charcode & 0x3f));
|
||||
l += 3;
|
||||
}
|
||||
// surrogate pair
|
||||
else {
|
||||
i++;
|
||||
// UTF-16 encodes 0x10000-0x10FFFF by
|
||||
// subtracting 0x10000 and splitting the
|
||||
// 20 bits of 0x0-0xFFFFF into two halves
|
||||
charcode = 0x10000 + (((charcode & 0x3ff) << 10)
|
||||
| (message.charCodeAt(i) & 0x3ff));
|
||||
this.state.message.push(0xf0 | (charcode >> 18),
|
||||
0x80 | ((charcode >> 12) & 0x3f),
|
||||
0x80 | ((charcode >> 6) & 0x3f),
|
||||
0x80 | (charcode & 0x3f));
|
||||
l += 4;
|
||||
}
|
||||
}
|
||||
this.state.length += l;
|
||||
|
||||
this.process();
|
||||
};
|
||||
|
||||
/**
|
||||
* Update message from array
|
||||
* @memberOf BaseHasher
|
||||
* @method updateFromArray
|
||||
* @param {number[]} message
|
||||
* @return {BaseHasher}
|
||||
*/
|
||||
BaseHasher.prototype.updateFromArray = function updateFromArray(message) {
|
||||
this.state.length += message.length;
|
||||
this.state.message = this.state.message.concat(message);
|
||||
this.process();
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Process ready blocks
|
||||
* @memberOf BaseHasher
|
||||
* @method process
|
||||
*/
|
||||
BaseHasher.prototype.process = function process() {
|
||||
while (this.state.message.length >= this.blockSize * this.unitSize) {
|
||||
var j = 0, b = 0, block = this.state.message.splice(0, this.blockSize * this.unitSize);
|
||||
if (this.unitSize > 1) {
|
||||
this.blockUnits = [];
|
||||
for (var i = 0, u = 0; i < block.length; i += this.unitSize, u++) {
|
||||
if (this.unitOrder === 1) {
|
||||
for (j = this.unitSize - 1, b = 0; j >= 0; j--, b += 8) {
|
||||
this.blockUnits[u] |= (block[i + j] << b);
|
||||
}
|
||||
} else {
|
||||
for (j = 0, b = 0; j < this.unitSize; j++, b += 8) {
|
||||
this.blockUnits[u] |= (block[i + j] << b);
|
||||
}
|
||||
}
|
||||
}
|
||||
this.processBlock(this.blockUnits);
|
||||
} else {
|
||||
this.processBlock(block);
|
||||
}
|
||||
}
|
||||
};
|
||||
/**
|
||||
* @memberOf CryptoApi
|
||||
* @member {BaseHasher} BaseHasher
|
||||
*/
|
||||
CryptoApi.prototype.BaseHasher = BaseHasher;
|
||||
|
||||
/**
|
||||
* @class Hasher8
|
||||
* @desc Hasher for 32 bit little endian blocks
|
||||
* @extends BaseHasher
|
||||
* @param {string} name
|
||||
* @param {Object} options
|
||||
* @public
|
||||
*/
|
||||
var Hasher8 = function (name, options) {
|
||||
this.constructor(name, options);
|
||||
};
|
||||
Hasher8.prototype = Object.create(BaseHasher.prototype);
|
||||
|
||||
/**
|
||||
* @desc Normal order of bytes
|
||||
* @memberOf Hasher8#
|
||||
* @member {number} unitOrder
|
||||
*/
|
||||
Hasher8.prototype.unitOrder = 0;
|
||||
/**
|
||||
* @desc Size of unit = 1 byte
|
||||
* @memberOf Hasher8#
|
||||
* @member {number} unitSize
|
||||
*/
|
||||
Hasher8.prototype.unitSize = 1;
|
||||
|
||||
/**
|
||||
* @memberOf Hasher8
|
||||
* @constructor
|
||||
* @param {string} name
|
||||
* @param {Object} options
|
||||
*/
|
||||
Hasher8.prototype.constructor = function (name, options) {
|
||||
BaseHasher.prototype.constructor.call(this, name, options);
|
||||
};
|
||||
/**
|
||||
* Process ready blocks
|
||||
* @memberOf Hasher8
|
||||
* @method process
|
||||
*/
|
||||
Hasher8.prototype.process = function process() {
|
||||
while (this.state.message.length >= this.blockSize * this.unitSize) {
|
||||
var block = this.state.message.splice(0, this.blockSize * this.unitSize);
|
||||
this.blockUnits = [];
|
||||
for (var i = 0; i < this.blockSize; i++) {
|
||||
this.blockUnits[i] = (block[i]);
|
||||
}
|
||||
this.processBlock(this.blockUnits);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @memberOf CryptoApi
|
||||
* @member {Hasher8} Hasher8
|
||||
*/
|
||||
CryptoApi.prototype.Hasher8 = Hasher8;
|
||||
|
||||
/**
|
||||
* @class Hasher32le
|
||||
* @desc Hasher for 32 bit little endian blocks
|
||||
* @extends BaseHasher
|
||||
* @param {string} name
|
||||
* @param {Object} options
|
||||
* @public
|
||||
*/
|
||||
var Hasher32le = function (name, options) {
|
||||
this.constructor(name, options);
|
||||
};
|
||||
Hasher32le.prototype = Object.create(BaseHasher.prototype);
|
||||
|
||||
Hasher32le.prototype.unitOrder = 0; // Normal order of bytes
|
||||
|
||||
/**
|
||||
* @memberOf Hasher32le
|
||||
* @constructor
|
||||
* @param {string} name
|
||||
* @param {Object} options
|
||||
*/
|
||||
Hasher32le.prototype.constructor = function (name, options) {
|
||||
BaseHasher.prototype.constructor.call(this, name, options);
|
||||
};
|
||||
/**
|
||||
* Process ready blocks
|
||||
* @memberOf Hasher32le
|
||||
* @method process
|
||||
*/
|
||||
Hasher32le.prototype.process = function process() {
|
||||
while (this.state.message.length >= this.blockSize * this.unitSize) {
|
||||
var block = this.state.message.splice(0, this.blockSize * this.unitSize);
|
||||
this.blockUnits = [];
|
||||
for (var i = 0, b = 0; i < this.blockSize; i++, b+=4) {
|
||||
this.blockUnits[i] = (block[b]);
|
||||
this.blockUnits[i] |= (block[b + 1] << 8);
|
||||
this.blockUnits[i] |= (block[b + 2] << 16);
|
||||
this.blockUnits[i] |= (block[b + 3] << 24);
|
||||
}
|
||||
this.processBlock(this.blockUnits);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @memberOf CryptoApi
|
||||
* @member {Hasher32le} Hasher32
|
||||
*/
|
||||
CryptoApi.prototype.Hasher32le = Hasher32le;
|
||||
|
||||
/**
|
||||
* @class Hasher32be
|
||||
* @desc Hasher for 32 bit big endian blocks
|
||||
* @extends BaseHasher
|
||||
* @param {string} name
|
||||
* @param {Object} options
|
||||
* @public
|
||||
*/
|
||||
var Hasher32be = function (name, options) {
|
||||
this.constructor(name, options);
|
||||
};
|
||||
Hasher32be.prototype = Object.create(BaseHasher.prototype);
|
||||
|
||||
Hasher32be.prototype.unitOrder = 1; // Reverse order of bytes
|
||||
|
||||
/**
|
||||
* @memberOf Hasher32be
|
||||
* @constructor
|
||||
* @param {string} name
|
||||
* @param {Object} options
|
||||
*/
|
||||
Hasher32be.prototype.constructor = function (name, options) {
|
||||
BaseHasher.prototype.constructor.call(this, name, options);
|
||||
};
|
||||
/**
|
||||
* Process ready blocks
|
||||
* @memberOf Hasher32be
|
||||
* @method process
|
||||
*/
|
||||
Hasher32be.prototype.process = function process() {
|
||||
while (this.state.message.length >= this.blockSize * this.unitSize) {
|
||||
var block = this.state.message.splice(0, this.blockSize * this.unitSize);
|
||||
this.blockUnits = [];
|
||||
for (var i = 0, b = 0; i < this.blockSize; i++, b+=4) {
|
||||
this.blockUnits[i] = (block[b] << 24);
|
||||
this.blockUnits[i] |= (block[b + 1] << 16);
|
||||
this.blockUnits[i] |= (block[b + 2] << 8);
|
||||
this.blockUnits[i] |= (block[b + 3]);
|
||||
}
|
||||
this.processBlock(this.blockUnits);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @memberOf CryptoApi
|
||||
* @member {Hasher32be} Hasher32be
|
||||
*/
|
||||
CryptoApi.prototype.Hasher32be = Hasher32be;
|
||||
|
||||
/**
|
||||
* @interface MacInterface
|
||||
* @classdesc All coders MUST implement this interface
|
||||
* @public
|
||||
*/
|
||||
var MacInterface = function () {};
|
||||
/**
|
||||
* @memberOf MacInterface
|
||||
* @param {string|number[]} key
|
||||
* @param {string} hasher
|
||||
* @param {Object} options
|
||||
* @constructor
|
||||
*/
|
||||
MacInterface.prototype.constructor = function constructor(key, hasher, options) {};
|
||||
/**
|
||||
* @desc Process ready block
|
||||
* @memberOf MacInterface
|
||||
* @method processBlock
|
||||
* @param {number[]} block
|
||||
*/
|
||||
MacInterface.prototype.processBlock = function processBlock(block) {};
|
||||
/**
|
||||
* Update message
|
||||
* @memberOf MacInterface
|
||||
* @method update
|
||||
* @param {string|number[]} message
|
||||
* @return {MacInterface}
|
||||
*/
|
||||
MacInterface.prototype.update = function update(message) {};
|
||||
/**
|
||||
* @desc Process last block and return hash
|
||||
* @memberOf MacInterface
|
||||
* @method finalize
|
||||
* @return {HashArray} hash
|
||||
*/
|
||||
MacInterface.prototype.finalize = function finalize() {};
|
||||
|
||||
/**
|
||||
* @class BaseMac
|
||||
* @extends BaseHasher
|
||||
* @param {string|number[]} key
|
||||
* @param {string} hasher
|
||||
* @param {Object} options
|
||||
* @public
|
||||
*/
|
||||
var BaseMac = function(key, hasher, options) {};
|
||||
BaseMac.prototype = Object.create(BaseHasher.prototype);
|
||||
BaseMac.prototype.constructor = function (key, hasher, options) {
|
||||
BaseHasher.prototype.constructor.call(this, hasher, options);
|
||||
};
|
||||
/**
|
||||
* @memberOf CryptoApi
|
||||
* @member {BaseMac} BaseMac
|
||||
*/
|
||||
CryptoApi.prototype.BaseMac = BaseMac;
|
||||
/**
|
||||
* @interface EncodeInterface
|
||||
* @classdesc All encodes MUST implement this interface
|
||||
* @public
|
||||
*/
|
||||
var EncodeInterface = function () {};
|
||||
/**
|
||||
* @memberOf EncodeInterface
|
||||
* @constructor
|
||||
* @param {HashArray} hash
|
||||
*/
|
||||
EncodeInterface.prototype.constructor = function constructor(hash) {};
|
||||
/**
|
||||
* @desc Stringify hash
|
||||
* @memberOf EncodeInterface
|
||||
* @method stringify
|
||||
* @returns {string}
|
||||
*/
|
||||
EncodeInterface.prototype.stringify = function encode() {};
|
||||
|
||||
|
||||
/**
|
||||
* @class BaseEncode
|
||||
* @desc Encode HashArray
|
||||
* @param {HashArray} hash
|
||||
* @public
|
||||
*/
|
||||
var BaseEncode = function (hash) {};
|
||||
/**
|
||||
* @memberOf BaseEncode
|
||||
* @constructor
|
||||
* @param {HashArray} hash
|
||||
*/
|
||||
BaseEncode.prototype.constructor = function constructor(hash) {
|
||||
/**
|
||||
* @property hash
|
||||
* @type {HashArray}
|
||||
*/
|
||||
this.hash = hash;
|
||||
};
|
||||
/**
|
||||
* @memberOf CryptoApi
|
||||
* @member {BaseEncode} BaseEncode
|
||||
*/
|
||||
CryptoApi.prototype.BaseEncode = BaseEncode;
|
||||
|
||||
/**
|
||||
* @class Hashers
|
||||
* @classdesc Collection of hashers
|
||||
*/
|
||||
var Hashers = function hashers() {
|
||||
/**
|
||||
* @property hashers
|
||||
* @type {Object}
|
||||
*/
|
||||
this.hashers = {};
|
||||
};
|
||||
/**
|
||||
* @memberOf Hashers
|
||||
* @method add
|
||||
* @param {string} name
|
||||
* @param {HasherInterface} hasher
|
||||
*/
|
||||
Hashers.prototype.add = function add(name, hasher) {
|
||||
if (hasher === undefined) {
|
||||
throw Error('Error adding hasher: ' + name);
|
||||
}
|
||||
this.hashers[name] = hasher;
|
||||
};
|
||||
/**
|
||||
* @memberOf Hashers
|
||||
* @method add
|
||||
* @param {string} name
|
||||
* @param {Object} options
|
||||
* @returns {HasherInterface}
|
||||
*/
|
||||
Hashers.prototype.get = function get(name, options) {
|
||||
var Hasher = this.hashers[name];
|
||||
if ((Hasher === undefined) && (typeof require !== 'undefined')) {
|
||||
var filename = name;
|
||||
if (filename === 'sha224') {
|
||||
filename = 'sha256';
|
||||
}
|
||||
require('./hasher.' + filename);
|
||||
Hasher = this.hashers[name];
|
||||
}
|
||||
if (Hasher === undefined) {
|
||||
throw Error('No hash algorithm: ' + name);
|
||||
}
|
||||
return new Hasher(name, options);
|
||||
};
|
||||
|
||||
/**
|
||||
* @class Encodes
|
||||
* @classdesc Collection of encodes
|
||||
*/
|
||||
var Encodes = function encodes() {
|
||||
/**
|
||||
* @property encodes
|
||||
* @type {Object}
|
||||
*/
|
||||
this.encodes = {};
|
||||
};
|
||||
/**
|
||||
* @memberOf Encodes
|
||||
* @method add
|
||||
* @param {string} name
|
||||
* @param {BaseEncode} encode
|
||||
*/
|
||||
Encodes.prototype.add = function add(name, encode) {
|
||||
if (encode === undefined) {
|
||||
throw Error('Error adding encode: ' + name);
|
||||
}
|
||||
this.encodes[name] = encode;
|
||||
};
|
||||
/**
|
||||
* @memberOf Encodes
|
||||
* @method get
|
||||
* @param {string} name
|
||||
* @param {HashArray} hash
|
||||
* @returns {BaseEncode}
|
||||
*/
|
||||
Encodes.prototype.get = function get(name, hash) {
|
||||
var Encode = this.encodes[name];
|
||||
if ((Encode === undefined) && (typeof require !== 'undefined')) {
|
||||
require('./enc.' + name);
|
||||
Encode = this.encodes[name];
|
||||
}
|
||||
if (Encode === undefined) {
|
||||
throw Error('No encode type: ' + name);
|
||||
}
|
||||
return new Encode(hash);
|
||||
};
|
||||
|
||||
/**
|
||||
* @class Macs
|
||||
* @classdesc Collection of macs
|
||||
*/
|
||||
var Macs = function macs() {
|
||||
/**
|
||||
* @property macs
|
||||
* @type {Object}
|
||||
*/
|
||||
this.macs = {};
|
||||
};
|
||||
/**
|
||||
* @memberOf Macs
|
||||
* @method add
|
||||
* @param {string} name
|
||||
* @param {BaseMac} mac
|
||||
*/
|
||||
Macs.prototype.add = function add(name, mac) {
|
||||
if (mac === undefined) {
|
||||
throw Error('Error adding mac: ' + name);
|
||||
}
|
||||
this.macs[name] = mac;
|
||||
};
|
||||
/**
|
||||
* @memberOf Macs
|
||||
* @method get
|
||||
* @param {string} name
|
||||
* @param {string|number[]} key
|
||||
* @param {string} hasher
|
||||
* @param {Object} options
|
||||
* @returns {MacInterface}
|
||||
*/
|
||||
Macs.prototype.get = function get(name, key, hasher, options) {
|
||||
var Mac = this.macs[name];
|
||||
if ((Mac === undefined) && (typeof require !== 'undefined')) {
|
||||
require('./mac.' + name);
|
||||
Mac = this.macs[name];
|
||||
}
|
||||
if (Mac === undefined) {
|
||||
throw Error('No mac type: ' + name);
|
||||
}
|
||||
return new Mac(key, hasher, options);
|
||||
};
|
||||
|
||||
/**
|
||||
* @class Tools
|
||||
* @classdesc Helper with some methods
|
||||
*/
|
||||
var Tools = function tools() {};
|
||||
/**
|
||||
* Rotate x to n bits left
|
||||
* @memberOf Tools
|
||||
* @method rotateLeft
|
||||
* @param {number} x
|
||||
* @param {number} n
|
||||
* @returns {number}
|
||||
*/
|
||||
Tools.prototype.rotateLeft = function rotateLeft(x, n) {
|
||||
return ((x << n) | (x >>> (32 - n))) | 0;
|
||||
};
|
||||
/**
|
||||
* Rotate x to n bits right
|
||||
* @memberOf Tools
|
||||
* @method rotateLeft
|
||||
* @param {number} x
|
||||
* @param {number} n
|
||||
* @returns {number}
|
||||
*/
|
||||
Tools.prototype.rotateRight = function rotateLeft(x, n) {
|
||||
return ((x >>> n) | (x << (32 - n))) | 0;
|
||||
};
|
||||
/**
|
||||
* @class HashArray
|
||||
* @classdesc Array of hash bytes
|
||||
* @instanceof {Array}
|
||||
* @param {number[]} hash
|
||||
* @param {Encodes} Encodes
|
||||
* @public
|
||||
*/
|
||||
var HashArray = function (hash, Encodes) {
|
||||
Array.prototype.push.apply(this, hash);
|
||||
/**
|
||||
* @property Encodes
|
||||
* @type {Encodes}
|
||||
*/
|
||||
this.Encodes = Encodes;
|
||||
};
|
||||
HashArray.prototype = Object.create(Array.prototype);
|
||||
HashArray.prototype.constructor = HashArray;
|
||||
|
||||
/**
|
||||
* Get hash as string
|
||||
* @param {string} method
|
||||
* @returns {string|*}
|
||||
*/
|
||||
HashArray.prototype.stringify = function stringify(method) {
|
||||
return this.Encodes.get(method, this).stringify();
|
||||
};
|
||||
|
||||
/**
|
||||
* Hash message with algo
|
||||
*
|
||||
* @memberof CryptoApi
|
||||
* @method hash
|
||||
* @public
|
||||
* @param {string} algo
|
||||
* @param {string} message
|
||||
* @param {Object} options
|
||||
* @return {HashArray} hash
|
||||
*/
|
||||
CryptoApi.prototype.hash = function hash(algo, message, options) {
|
||||
var hash = this.hasher(algo, options);
|
||||
hash.update(message);
|
||||
return hash.finalize();
|
||||
};
|
||||
/**
|
||||
* Get new Hasher object
|
||||
*
|
||||
* @memberof CryptoApi
|
||||
* @method hasher
|
||||
* @public
|
||||
* @param {string} algo
|
||||
* @param {Object} options
|
||||
* @returns {HasherInterface}
|
||||
*/
|
||||
CryptoApi.prototype.hasher = function hasher(algo, options) {
|
||||
return this.Hashers.get(algo, options);
|
||||
};
|
||||
/**
|
||||
* Get new MAC object
|
||||
*
|
||||
* @memberof CryptoApi
|
||||
* @method mac
|
||||
* @public
|
||||
* @param {string} algo
|
||||
* @param {string|number[]} key
|
||||
* @param {string} hasher
|
||||
* @param {Object} options
|
||||
* @returns {MacInterface}
|
||||
*/
|
||||
CryptoApi.prototype.mac = function mac(algo, key, hasher, options) {
|
||||
return this.Macs.get(algo, key, hasher, options);
|
||||
};
|
||||
/**
|
||||
* Get new HashArray
|
||||
*
|
||||
* @memberof CryptoApi
|
||||
* @method hashArray
|
||||
* @public
|
||||
* @param {number[]} hash
|
||||
* @returns {HashArray}
|
||||
*/
|
||||
CryptoApi.prototype.hashArray = function hashArray(hash) {
|
||||
return new HashArray(hash, this.Encodes);
|
||||
};
|
||||
root.CryptoApi = new CryptoApi();
|
||||
if (typeof module !== 'undefined' && module.exports) {
|
||||
module.exports = root.CryptoApi;
|
||||
} else {
|
||||
return root.CryptoApi;
|
||||
}
|
||||
})(this);
|
||||
@@ -1,113 +0,0 @@
|
||||
/*global require */
|
||||
(/**
|
||||
* @param {CryptoApi} CryptoApi
|
||||
* @returns {Md2}
|
||||
*/
|
||||
function (CryptoApi) {
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* @class Md2
|
||||
* @extends Hasher8
|
||||
* @implements HasherInterface
|
||||
* @desc Md2 hasher
|
||||
*/
|
||||
var Md2 = function (name, options) {
|
||||
this.constructor(name, options);
|
||||
};
|
||||
Md2.prototype = Object.create(CryptoApi.Hasher8.prototype);
|
||||
/**
|
||||
* @memberOf Md2
|
||||
* @constructor
|
||||
*/
|
||||
Md2.prototype.constructor = function (name, options) {
|
||||
CryptoApi.Hasher8.prototype.constructor.call(this, name, options);
|
||||
/**
|
||||
* @desc Hash state
|
||||
* @memberOf! Md2#
|
||||
* @alias state.hash
|
||||
* @type {number[]}
|
||||
*/
|
||||
this.state.hash = new Array(48);
|
||||
/**
|
||||
* @desc Checksum
|
||||
* @memberOf! Md2#
|
||||
* @alias state.checksum
|
||||
* @type {number[]}
|
||||
*/
|
||||
this.state.checksum = new Array(16);
|
||||
};
|
||||
|
||||
/**
|
||||
* @desc Constants from Pi
|
||||
* @link https://github.com/e-sushi/MD2-S-box-creator
|
||||
* @memberOf Md2#
|
||||
* @member {number[]} piSubst
|
||||
*/
|
||||
Md2.prototype.piSubst = [
|
||||
0x29, 0x2E, 0x43, 0xC9, 0xA2, 0xD8, 0x7C, 0x01, 0x3D, 0x36, 0x54, 0xA1, 0xEC, 0xF0, 0x06, 0x13,
|
||||
0x62, 0xA7, 0x05, 0xF3, 0xC0, 0xC7, 0x73, 0x8C, 0x98, 0x93, 0x2B, 0xD9, 0xBC, 0x4C, 0x82, 0xCA,
|
||||
0x1E, 0x9B, 0x57, 0x3C, 0xFD, 0xD4, 0xE0, 0x16, 0x67, 0x42, 0x6F, 0x18, 0x8A, 0x17, 0xE5, 0x12,
|
||||
0xBE, 0x4E, 0xC4, 0xD6, 0xDA, 0x9E, 0xDE, 0x49, 0xA0, 0xFB, 0xF5, 0x8E, 0xBB, 0x2F, 0xEE, 0x7A,
|
||||
0xA9, 0x68, 0x79, 0x91, 0x15, 0xB2, 0x07, 0x3F, 0x94, 0xC2, 0x10, 0x89, 0x0B, 0x22, 0x5F, 0x21,
|
||||
0x80, 0x7F, 0x5D, 0x9A, 0x5A, 0x90, 0x32, 0x27, 0x35, 0x3E, 0xCC, 0xE7, 0xBF, 0xF7, 0x97, 0x03,
|
||||
0xFF, 0x19, 0x30, 0xB3, 0x48, 0xA5, 0xB5, 0xD1, 0xD7, 0x5E, 0x92, 0x2A, 0xAC, 0x56, 0xAA, 0xC6,
|
||||
0x4F, 0xB8, 0x38, 0xD2, 0x96, 0xA4, 0x7D, 0xB6, 0x76, 0xFC, 0x6B, 0xE2, 0x9C, 0x74, 0x04, 0xF1,
|
||||
0x45, 0x9D, 0x70, 0x59, 0x64, 0x71, 0x87, 0x20, 0x86, 0x5B, 0xCF, 0x65, 0xE6, 0x2D, 0xA8, 0x02,
|
||||
0x1B, 0x60, 0x25, 0xAD, 0xAE, 0xB0, 0xB9, 0xF6, 0x1C, 0x46, 0x61, 0x69, 0x34, 0x40, 0x7E, 0x0F,
|
||||
0x55, 0x47, 0xA3, 0x23, 0xDD, 0x51, 0xAF, 0x3A, 0xC3, 0x5C, 0xF9, 0xCE, 0xBA, 0xC5, 0xEA, 0x26,
|
||||
0x2C, 0x53, 0x0D, 0x6E, 0x85, 0x28, 0x84, 0x09, 0xD3, 0xDF, 0xCD, 0xF4, 0x41, 0x81, 0x4D, 0x52,
|
||||
0x6A, 0xDC, 0x37, 0xC8, 0x6C, 0xC1, 0xAB, 0xFA, 0x24, 0xE1, 0x7B, 0x08, 0x0C, 0xBD, 0xB1, 0x4A,
|
||||
0x78, 0x88, 0x95, 0x8B, 0xE3, 0x63, 0xE8, 0x6D, 0xE9, 0xCB, 0xD5, 0xFE, 0x3B, 0x00, 0x1D, 0x39,
|
||||
0xF2, 0xEF, 0xB7, 0x0E, 0x66, 0x58, 0xD0, 0xE4, 0xA6, 0x77, 0x72, 0xF8, 0xEB, 0x75, 0x4B, 0x0A,
|
||||
0x31, 0x44, 0x50, 0xB4, 0x8F, 0xED, 0x1F, 0x1A, 0xDB, 0x99, 0x8D, 0x33, 0x9F, 0x11, 0x83, 0x14];
|
||||
|
||||
/**
|
||||
* @memberOf Md2
|
||||
* @method processBlock
|
||||
* @param {number[]} block
|
||||
*/
|
||||
Md2.prototype.processBlock = function processBlock(block) {
|
||||
// Append hash
|
||||
for (var i = 0; i < 16; i++) {
|
||||
this.state.hash[16 + i] = block[i];
|
||||
this.state.hash[32 + i] = this.state.hash[16 + i] ^ this.state.hash[i];
|
||||
}
|
||||
|
||||
// 18 Rounds
|
||||
var t = 0;
|
||||
for (i = 0; i < 18; i++) {
|
||||
for (var j = 0; j < 48; j++) {
|
||||
t = this.state.hash[j] ^= this.piSubst[t];
|
||||
}
|
||||
t = (t + i) & 0xff;
|
||||
}
|
||||
|
||||
// Append checksum
|
||||
t = this.state.checksum[15];
|
||||
for (i = 0; i < 16; i++) {
|
||||
t = this.state.checksum[i] ^= this.piSubst[block[i] ^ t];
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @memberOf Md2
|
||||
* @method finalize
|
||||
* @return {HashArray}
|
||||
*/
|
||||
Md2.prototype.finalize = function finalize() {
|
||||
var padLen = this.state.message.length & 0xf;
|
||||
this.update(new Array(17 - padLen).join(String.fromCharCode(16 - padLen)));
|
||||
|
||||
// Process checksum
|
||||
this.updateFromArray(this.state.checksum);
|
||||
|
||||
// Return hash
|
||||
return CryptoApi.hashArray(this.state.hash.slice(0, 16));
|
||||
};
|
||||
|
||||
CryptoApi.Hashers.add('md2', Md2);
|
||||
return Md2;
|
||||
})(
|
||||
this.CryptoApi || require('./crypto-api')
|
||||
);
|
||||
@@ -1,204 +0,0 @@
|
||||
/*global require */
|
||||
(/**
|
||||
* @param {CryptoApi} CryptoApi
|
||||
* @returns {Md4}
|
||||
*/
|
||||
function (CryptoApi) {
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* @class Md4
|
||||
* @desc Md4 hasher
|
||||
* @implements HasherInterface
|
||||
* @extends Hasher32le
|
||||
*/
|
||||
var Md4 = function md4(name, options) {
|
||||
this.constructor(name, options);
|
||||
};
|
||||
Md4.prototype = Object.create(CryptoApi.Hasher32le.prototype);
|
||||
/**
|
||||
* @memberOf Md4
|
||||
* @constructor
|
||||
*/
|
||||
Md4.prototype.constructor = function (name, options) {
|
||||
CryptoApi.Hasher32le.prototype.constructor.call(this, name, options);
|
||||
/**
|
||||
* @desc Hash state
|
||||
* @memberOf! Md4#
|
||||
* @alias state.hash
|
||||
* @type {number[]}
|
||||
*/
|
||||
this.state.hash = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476];
|
||||
};
|
||||
|
||||
/**
|
||||
* @desc Transform constants
|
||||
* @memberOf Md4
|
||||
* @member {number[]} S
|
||||
* @const
|
||||
*/
|
||||
Md4.prototype.S = [
|
||||
[3, 7, 11, 19],
|
||||
[3, 5, 9, 13],
|
||||
[3, 9, 11, 15]
|
||||
];
|
||||
Md4.prototype.F = 0x00000000;
|
||||
Md4.prototype.G = 0x5a827999;
|
||||
Md4.prototype.H = 0x6ed9eba1;
|
||||
|
||||
// Transform functions
|
||||
/**
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
* @param {number} z
|
||||
* @returns {number}
|
||||
*/
|
||||
Md4.prototype.FF = function FF(x, y, z) {
|
||||
return (x & y) | ((~x) & z);
|
||||
};
|
||||
/**
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
* @param {number} z
|
||||
* @returns {number}
|
||||
*/
|
||||
Md4.prototype.GG = function GG(x, y, z) {
|
||||
return (x & y) | (x & z) | (y & z);
|
||||
};
|
||||
/**
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
* @param {number} z
|
||||
* @returns {number}
|
||||
*/
|
||||
Md4.prototype.HH = function HH(x, y, z) {
|
||||
return x ^ y ^ z;
|
||||
};
|
||||
/**
|
||||
*
|
||||
* @param {function} f
|
||||
* @param {number} k
|
||||
* @param {number} a
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
* @param {number} z
|
||||
* @param {number} m
|
||||
* @param {number} s
|
||||
* @returns {number}
|
||||
* @constructor
|
||||
*/
|
||||
Md4.prototype.CC = function CC(f, k, a, x, y, z, m, s) {
|
||||
return CryptoApi.Tools.rotateLeft((a + f(x, y, z) + m + k), s) | 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* @memberOf Md4
|
||||
* @method processBlock
|
||||
* @param {number[]} block
|
||||
*/
|
||||
Md4.prototype.processBlock = function processBlock(block) {
|
||||
// Working variables
|
||||
var a = this.state.hash[0] | 0;
|
||||
var b = this.state.hash[1] | 0;
|
||||
var c = this.state.hash[2] | 0;
|
||||
var d = this.state.hash[3] | 0;
|
||||
|
||||
// Round 1
|
||||
a = this.CC(this.FF, this.F, a, b, c, d, block[0], this.S[0][0]);
|
||||
d = this.CC(this.FF, this.F, d, a, b, c, block[1], this.S[0][1]);
|
||||
c = this.CC(this.FF, this.F, c, d, a, b, block[2], this.S[0][2]);
|
||||
b = this.CC(this.FF, this.F, b, c, d, a, block[3], this.S[0][3]);
|
||||
a = this.CC(this.FF, this.F, a, b, c, d, block[4], this.S[0][0]);
|
||||
d = this.CC(this.FF, this.F, d, a, b, c, block[5], this.S[0][1]);
|
||||
c = this.CC(this.FF, this.F, c, d, a, b, block[6], this.S[0][2]);
|
||||
b = this.CC(this.FF, this.F, b, c, d, a, block[7], this.S[0][3]);
|
||||
a = this.CC(this.FF, this.F, a, b, c, d, block[8], this.S[0][0]);
|
||||
d = this.CC(this.FF, this.F, d, a, b, c, block[9], this.S[0][1]);
|
||||
c = this.CC(this.FF, this.F, c, d, a, b, block[10], this.S[0][2]);
|
||||
b = this.CC(this.FF, this.F, b, c, d, a, block[11], this.S[0][3]);
|
||||
a = this.CC(this.FF, this.F, a, b, c, d, block[12], this.S[0][0]);
|
||||
d = this.CC(this.FF, this.F, d, a, b, c, block[13], this.S[0][1]);
|
||||
c = this.CC(this.FF, this.F, c, d, a, b, block[14], this.S[0][2]);
|
||||
b = this.CC(this.FF, this.F, b, c, d, a, block[15], this.S[0][3]);
|
||||
|
||||
// Round 2
|
||||
a = this.CC(this.GG, this.G, a, b, c, d, block[0], this.S[1][0]);
|
||||
d = this.CC(this.GG, this.G, d, a, b, c, block[4], this.S[1][1]);
|
||||
c = this.CC(this.GG, this.G, c, d, a, b, block[8], this.S[1][2]);
|
||||
b = this.CC(this.GG, this.G, b, c, d, a, block[12], this.S[1][3]);
|
||||
a = this.CC(this.GG, this.G, a, b, c, d, block[1], this.S[1][0]);
|
||||
d = this.CC(this.GG, this.G, d, a, b, c, block[5], this.S[1][1]);
|
||||
c = this.CC(this.GG, this.G, c, d, a, b, block[9], this.S[1][2]);
|
||||
b = this.CC(this.GG, this.G, b, c, d, a, block[13], this.S[1][3]);
|
||||
a = this.CC(this.GG, this.G, a, b, c, d, block[2], this.S[1][0]);
|
||||
d = this.CC(this.GG, this.G, d, a, b, c, block[6], this.S[1][1]);
|
||||
c = this.CC(this.GG, this.G, c, d, a, b, block[10], this.S[1][2]);
|
||||
b = this.CC(this.GG, this.G, b, c, d, a, block[14], this.S[1][3]);
|
||||
a = this.CC(this.GG, this.G, a, b, c, d, block[3], this.S[1][0]);
|
||||
d = this.CC(this.GG, this.G, d, a, b, c, block[7], this.S[1][1]);
|
||||
c = this.CC(this.GG, this.G, c, d, a, b, block[11], this.S[1][2]);
|
||||
b = this.CC(this.GG, this.G, b, c, d, a, block[15], this.S[1][3]);
|
||||
|
||||
// Round 3
|
||||
a = this.CC(this.HH, this.H, a, b, c, d, block[0], this.S[2][0]);
|
||||
d = this.CC(this.HH, this.H, d, a, b, c, block[8], this.S[2][1]);
|
||||
c = this.CC(this.HH, this.H, c, d, a, b, block[4], this.S[2][2]);
|
||||
b = this.CC(this.HH, this.H, b, c, d, a, block[12], this.S[2][3]);
|
||||
a = this.CC(this.HH, this.H, a, b, c, d, block[2], this.S[2][0]);
|
||||
d = this.CC(this.HH, this.H, d, a, b, c, block[10], this.S[2][1]);
|
||||
c = this.CC(this.HH, this.H, c, d, a, b, block[6], this.S[2][2]);
|
||||
b = this.CC(this.HH, this.H, b, c, d, a, block[14], this.S[2][3]);
|
||||
a = this.CC(this.HH, this.H, a, b, c, d, block[1], this.S[2][0]);
|
||||
d = this.CC(this.HH, this.H, d, a, b, c, block[9], this.S[2][1]);
|
||||
c = this.CC(this.HH, this.H, c, d, a, b, block[5], this.S[2][2]);
|
||||
b = this.CC(this.HH, this.H, b, c, d, a, block[13], this.S[2][3]);
|
||||
a = this.CC(this.HH, this.H, a, b, c, d, block[3], this.S[2][0]);
|
||||
d = this.CC(this.HH, this.H, d, a, b, c, block[11], this.S[2][1]);
|
||||
c = this.CC(this.HH, this.H, c, d, a, b, block[7], this.S[2][2]);
|
||||
b = this.CC(this.HH, this.H, b, c, d, a, block[15], this.S[2][3]);
|
||||
|
||||
this.state.hash = [
|
||||
(this.state.hash[0] + a) | 0,
|
||||
(this.state.hash[1] + b) | 0,
|
||||
(this.state.hash[2] + c) | 0,
|
||||
(this.state.hash[3] + d) | 0
|
||||
];
|
||||
};
|
||||
/**
|
||||
* @memberOf Md4
|
||||
* @method finalize
|
||||
* @return {HashArray} hash
|
||||
*/
|
||||
Md4.prototype.finalize = function finalize() {
|
||||
// Add padding
|
||||
var padLen = this.state.message.length < 56 ? 56 - this.state.message.length : 120 - this.state.message.length;
|
||||
var padding = new Array(padLen);
|
||||
padding[0] = 0x80;
|
||||
|
||||
// Add length
|
||||
var lengthBits = this.state.length * 8;
|
||||
for (var i = 0; i < 4; i++) {
|
||||
padding.push((lengthBits >> (8 * i)) & 0xff);
|
||||
}
|
||||
// @todo fix length to 64 bit
|
||||
for (i = 0; i < 4; i++) {
|
||||
padding.push(0);
|
||||
}
|
||||
this.updateFromArray(padding);
|
||||
|
||||
var hash = [];
|
||||
for (i = 0; i < this.state.hash.length; i++) {
|
||||
for (var j = 0; j < 4; j++) {
|
||||
hash.push((this.state.hash[i] >> 8 * j) & 0xff);
|
||||
}
|
||||
}
|
||||
|
||||
// Return hash
|
||||
return CryptoApi.hashArray(hash);
|
||||
};
|
||||
|
||||
CryptoApi.Hashers.add('md4', Md4);
|
||||
return Md4;
|
||||
})(
|
||||
this.CryptoApi || require('./crypto-api')
|
||||
);
|
||||
@@ -1,125 +0,0 @@
|
||||
/*global require */
|
||||
(/**
|
||||
*
|
||||
* @param {CryptoApi} CryptoApi
|
||||
* @returns {Sha0}
|
||||
*/
|
||||
function (CryptoApi) {
|
||||
'use strict';
|
||||
|
||||
// Transform constants
|
||||
var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];
|
||||
|
||||
/**
|
||||
* @class Sha0
|
||||
* @desc Sha0 hasher
|
||||
* @implements HasherInterface
|
||||
* @extends Hasher32be
|
||||
*/
|
||||
var Sha0 = function sha0(name, options) {
|
||||
this.constructor(name, options);
|
||||
};
|
||||
Sha0.prototype = Object.create(CryptoApi.Hasher32be.prototype);
|
||||
/**
|
||||
* @memberOf Sha0
|
||||
* @constructor
|
||||
*/
|
||||
Sha0.prototype.constructor = function (name, options) {
|
||||
CryptoApi.Hasher32be.prototype.constructor.call(this, name, options);
|
||||
/**
|
||||
* @desc Hash state
|
||||
* @memberOf! Sha0#
|
||||
* @alias state.hash
|
||||
* @type {number[]}
|
||||
*/
|
||||
this.state.hash = [
|
||||
0x67452301,
|
||||
0xefcdab89,
|
||||
0x98badcfe,
|
||||
0x10325476,
|
||||
0xc3d2e1f0
|
||||
];
|
||||
this.W = [];
|
||||
};
|
||||
|
||||
/**
|
||||
* @memberOf Sha0
|
||||
* @method processBlock
|
||||
* @param {number[]} M
|
||||
*/
|
||||
Sha0.prototype.processBlock = function processBlock(M) {
|
||||
// Working variables
|
||||
var a = this.state.hash[0] | 0;
|
||||
var b = this.state.hash[1] | 0;
|
||||
var c = this.state.hash[2] | 0;
|
||||
var d = this.state.hash[3] | 0;
|
||||
var e = this.state.hash[4] | 0;
|
||||
|
||||
// Calculate hash
|
||||
for (var i = 0; i < 80; i++) {
|
||||
if (i < 16) {
|
||||
this.W[i] = M[i] | 0;
|
||||
} else {
|
||||
this.W[i] = (this.W[i - 3] ^ this.W[i - 8] ^ this.W[i - 14] ^ this.W[i - 16]) | 0;
|
||||
}
|
||||
|
||||
var t = (CryptoApi.Tools.rotateLeft(a, 5) + e + this.W[i] + K[(i / 20) >> 0]) | 0;
|
||||
if (i < 20) {
|
||||
t = (t + ((b & c) | (~b & d))) | 0;
|
||||
} else if (i < 40) {
|
||||
t = (t + (b ^ c ^ d)) | 0;
|
||||
} else if (i < 60) {
|
||||
t = (t + ((b & c) | (b & d) | (c & d))) | 0;
|
||||
} else {
|
||||
t = (t + (b ^ c ^ d)) | 0;
|
||||
}
|
||||
e = d;
|
||||
d = c;
|
||||
c = CryptoApi.Tools.rotateLeft(b, 30) | 0;
|
||||
b = a;
|
||||
a = t;
|
||||
}
|
||||
|
||||
this.state.hash[0] = (this.state.hash[0] + a) | 0;
|
||||
this.state.hash[1] = (this.state.hash[1] + b) | 0;
|
||||
this.state.hash[2] = (this.state.hash[2] + c) | 0;
|
||||
this.state.hash[3] = (this.state.hash[3] + d) | 0;
|
||||
this.state.hash[4] = (this.state.hash[4] + e) | 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* @memberOf Sha0
|
||||
* @method finalize
|
||||
* @return {HashArray} hash
|
||||
*/
|
||||
Sha0.prototype.finalize = function finalize() {
|
||||
// Add padding
|
||||
var padLen = this.state.message.length < 56 ? 56 - this.state.message.length : 120 - this.state.message.length;
|
||||
padLen += 4; // @todo fix length to 64 bit
|
||||
var padding = new Array(padLen);
|
||||
padding[0] = 0x80;
|
||||
|
||||
// Add length
|
||||
var lengthBits = this.state.length * 8;
|
||||
for (var i = 3; i >= 0; i--) {
|
||||
padding.push((lengthBits >> (8 * i)) & 0xff);
|
||||
}
|
||||
|
||||
this.updateFromArray(padding);
|
||||
|
||||
var hash = [];
|
||||
for (var k = 0, l = this.state.hash.length; k < l; k++) {
|
||||
for (var j = 3; j >= 0; j--) {
|
||||
hash.push((this.state.hash[k] >> 8 * j) & 0xFF);
|
||||
}
|
||||
}
|
||||
|
||||
// Return hash
|
||||
return CryptoApi.hashArray(hash);
|
||||
};
|
||||
|
||||
CryptoApi.Hashers.add('sha0', Sha0);
|
||||
return Sha0;
|
||||
})(
|
||||
this.CryptoApi || require('./crypto-api')
|
||||
);
|
||||
@@ -1,213 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var BlockCipher = C_lib.BlockCipher;
|
||||
var C_algo = C.algo;
|
||||
|
||||
// Lookup tables
|
||||
var SBOX = [];
|
||||
var INV_SBOX = [];
|
||||
var SUB_MIX_0 = [];
|
||||
var SUB_MIX_1 = [];
|
||||
var SUB_MIX_2 = [];
|
||||
var SUB_MIX_3 = [];
|
||||
var INV_SUB_MIX_0 = [];
|
||||
var INV_SUB_MIX_1 = [];
|
||||
var INV_SUB_MIX_2 = [];
|
||||
var INV_SUB_MIX_3 = [];
|
||||
|
||||
// Compute lookup tables
|
||||
(function () {
|
||||
// Compute double table
|
||||
var d = [];
|
||||
for (var i = 0; i < 256; i++) {
|
||||
if (i < 128) {
|
||||
d[i] = i << 1;
|
||||
} else {
|
||||
d[i] = (i << 1) ^ 0x11b;
|
||||
}
|
||||
}
|
||||
|
||||
// Walk GF(2^8)
|
||||
var x = 0;
|
||||
var xi = 0;
|
||||
for (var i = 0; i < 256; i++) {
|
||||
// Compute sbox
|
||||
var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);
|
||||
sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;
|
||||
SBOX[x] = sx;
|
||||
INV_SBOX[sx] = x;
|
||||
|
||||
// Compute multiplication
|
||||
var x2 = d[x];
|
||||
var x4 = d[x2];
|
||||
var x8 = d[x4];
|
||||
|
||||
// Compute sub bytes, mix columns tables
|
||||
var t = (d[sx] * 0x101) ^ (sx * 0x1010100);
|
||||
SUB_MIX_0[x] = (t << 24) | (t >>> 8);
|
||||
SUB_MIX_1[x] = (t << 16) | (t >>> 16);
|
||||
SUB_MIX_2[x] = (t << 8) | (t >>> 24);
|
||||
SUB_MIX_3[x] = t;
|
||||
|
||||
// Compute inv sub bytes, inv mix columns tables
|
||||
var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);
|
||||
INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);
|
||||
INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);
|
||||
INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24);
|
||||
INV_SUB_MIX_3[sx] = t;
|
||||
|
||||
// Compute next counter
|
||||
if (!x) {
|
||||
x = xi = 1;
|
||||
} else {
|
||||
x = x2 ^ d[d[d[x8 ^ x2]]];
|
||||
xi ^= d[d[xi]];
|
||||
}
|
||||
}
|
||||
}());
|
||||
|
||||
// Precomputed Rcon lookup
|
||||
var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];
|
||||
|
||||
/**
|
||||
* AES block cipher algorithm.
|
||||
*/
|
||||
var AES = C_algo.AES = BlockCipher.extend({
|
||||
_doReset: function () {
|
||||
// Shortcuts
|
||||
var key = this._key;
|
||||
var keyWords = key.words;
|
||||
var keySize = key.sigBytes / 4;
|
||||
|
||||
// Compute number of rounds
|
||||
var nRounds = this._nRounds = keySize + 6
|
||||
|
||||
// Compute number of key schedule rows
|
||||
var ksRows = (nRounds + 1) * 4;
|
||||
|
||||
// Compute key schedule
|
||||
var keySchedule = this._keySchedule = [];
|
||||
for (var ksRow = 0; ksRow < ksRows; ksRow++) {
|
||||
if (ksRow < keySize) {
|
||||
keySchedule[ksRow] = keyWords[ksRow];
|
||||
} else {
|
||||
var t = keySchedule[ksRow - 1];
|
||||
|
||||
if (!(ksRow % keySize)) {
|
||||
// Rot word
|
||||
t = (t << 8) | (t >>> 24);
|
||||
|
||||
// Sub word
|
||||
t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];
|
||||
|
||||
// Mix Rcon
|
||||
t ^= RCON[(ksRow / keySize) | 0] << 24;
|
||||
} else if (keySize > 6 && ksRow % keySize == 4) {
|
||||
// Sub word
|
||||
t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];
|
||||
}
|
||||
|
||||
keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;
|
||||
}
|
||||
}
|
||||
|
||||
// Compute inv key schedule
|
||||
var invKeySchedule = this._invKeySchedule = [];
|
||||
for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {
|
||||
var ksRow = ksRows - invKsRow;
|
||||
|
||||
if (invKsRow % 4) {
|
||||
var t = keySchedule[ksRow];
|
||||
} else {
|
||||
var t = keySchedule[ksRow - 4];
|
||||
}
|
||||
|
||||
if (invKsRow < 4 || ksRow <= 4) {
|
||||
invKeySchedule[invKsRow] = t;
|
||||
} else {
|
||||
invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^
|
||||
INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
encryptBlock: function (M, offset) {
|
||||
this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);
|
||||
},
|
||||
|
||||
decryptBlock: function (M, offset) {
|
||||
// Swap 2nd and 4th rows
|
||||
var t = M[offset + 1];
|
||||
M[offset + 1] = M[offset + 3];
|
||||
M[offset + 3] = t;
|
||||
|
||||
this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);
|
||||
|
||||
// Inv swap 2nd and 4th rows
|
||||
var t = M[offset + 1];
|
||||
M[offset + 1] = M[offset + 3];
|
||||
M[offset + 3] = t;
|
||||
},
|
||||
|
||||
_doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {
|
||||
// Shortcut
|
||||
var nRounds = this._nRounds;
|
||||
|
||||
// Get input, add round key
|
||||
var s0 = M[offset] ^ keySchedule[0];
|
||||
var s1 = M[offset + 1] ^ keySchedule[1];
|
||||
var s2 = M[offset + 2] ^ keySchedule[2];
|
||||
var s3 = M[offset + 3] ^ keySchedule[3];
|
||||
|
||||
// Key schedule row counter
|
||||
var ksRow = 4;
|
||||
|
||||
// Rounds
|
||||
for (var round = 1; round < nRounds; round++) {
|
||||
// Shift rows, sub bytes, mix columns, add round key
|
||||
var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];
|
||||
var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];
|
||||
var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];
|
||||
var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];
|
||||
|
||||
// Update state
|
||||
s0 = t0;
|
||||
s1 = t1;
|
||||
s2 = t2;
|
||||
s3 = t3;
|
||||
}
|
||||
|
||||
// Shift rows, sub bytes, add round key
|
||||
var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];
|
||||
var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];
|
||||
var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];
|
||||
var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];
|
||||
|
||||
// Set output
|
||||
M[offset] = t0;
|
||||
M[offset + 1] = t1;
|
||||
M[offset + 2] = t2;
|
||||
M[offset + 3] = t3;
|
||||
},
|
||||
|
||||
keySize: 256/32
|
||||
});
|
||||
|
||||
/**
|
||||
* Shortcut functions to the cipher's object interface.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);
|
||||
* var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg);
|
||||
*/
|
||||
C.AES = BlockCipher._createHelper(AES);
|
||||
}());
|
||||
@@ -1,864 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* Cipher core components.
|
||||
*/
|
||||
CryptoJS.lib.Cipher || (function (undefined) {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var Base = C_lib.Base;
|
||||
var WordArray = C_lib.WordArray;
|
||||
var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;
|
||||
var C_enc = C.enc;
|
||||
var Utf8 = C_enc.Utf8;
|
||||
var Base64 = C_enc.Base64;
|
||||
var C_algo = C.algo;
|
||||
var EvpKDF = C_algo.EvpKDF;
|
||||
|
||||
/**
|
||||
* Abstract base cipher template.
|
||||
*
|
||||
* @property {number} keySize This cipher's key size. Default: 4 (128 bits)
|
||||
* @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)
|
||||
* @property {number} _ENC_XFORM_MODE A constant representing encryption mode.
|
||||
* @property {number} _DEC_XFORM_MODE A constant representing decryption mode.
|
||||
*/
|
||||
var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({
|
||||
/**
|
||||
* Configuration options.
|
||||
*
|
||||
* @property {WordArray} iv The IV to use for this operation.
|
||||
*/
|
||||
cfg: Base.extend(),
|
||||
|
||||
/**
|
||||
* Creates this cipher in encryption mode.
|
||||
*
|
||||
* @param {WordArray} key The key.
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
||||
*
|
||||
* @return {Cipher} A cipher instance.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });
|
||||
*/
|
||||
createEncryptor: function (key, cfg) {
|
||||
return this.create(this._ENC_XFORM_MODE, key, cfg);
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates this cipher in decryption mode.
|
||||
*
|
||||
* @param {WordArray} key The key.
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
||||
*
|
||||
* @return {Cipher} A cipher instance.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });
|
||||
*/
|
||||
createDecryptor: function (key, cfg) {
|
||||
return this.create(this._DEC_XFORM_MODE, key, cfg);
|
||||
},
|
||||
|
||||
/**
|
||||
* Initializes a newly created cipher.
|
||||
*
|
||||
* @param {number} xformMode Either the encryption or decryption transormation mode constant.
|
||||
* @param {WordArray} key The key.
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });
|
||||
*/
|
||||
init: function (xformMode, key, cfg) {
|
||||
// Apply config defaults
|
||||
this.cfg = this.cfg.extend(cfg);
|
||||
|
||||
// Store transform mode and key
|
||||
this._xformMode = xformMode;
|
||||
this._key = key;
|
||||
|
||||
// Set initial values
|
||||
this.reset();
|
||||
},
|
||||
|
||||
/**
|
||||
* Resets this cipher to its initial state.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* cipher.reset();
|
||||
*/
|
||||
reset: function () {
|
||||
// Reset data buffer
|
||||
BufferedBlockAlgorithm.reset.call(this);
|
||||
|
||||
// Perform concrete-cipher logic
|
||||
this._doReset();
|
||||
},
|
||||
|
||||
/**
|
||||
* Adds data to be encrypted or decrypted.
|
||||
*
|
||||
* @param {WordArray|string} dataUpdate The data to encrypt or decrypt.
|
||||
*
|
||||
* @return {WordArray} The data after processing.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var encrypted = cipher.process('data');
|
||||
* var encrypted = cipher.process(wordArray);
|
||||
*/
|
||||
process: function (dataUpdate) {
|
||||
// Append
|
||||
this._append(dataUpdate);
|
||||
|
||||
// Process available blocks
|
||||
return this._process();
|
||||
},
|
||||
|
||||
/**
|
||||
* Finalizes the encryption or decryption process.
|
||||
* Note that the finalize operation is effectively a destructive, read-once operation.
|
||||
*
|
||||
* @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.
|
||||
*
|
||||
* @return {WordArray} The data after final processing.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var encrypted = cipher.finalize();
|
||||
* var encrypted = cipher.finalize('data');
|
||||
* var encrypted = cipher.finalize(wordArray);
|
||||
*/
|
||||
finalize: function (dataUpdate) {
|
||||
// Final data update
|
||||
if (dataUpdate) {
|
||||
this._append(dataUpdate);
|
||||
}
|
||||
|
||||
// Perform concrete-cipher logic
|
||||
var finalProcessedData = this._doFinalize();
|
||||
|
||||
return finalProcessedData;
|
||||
},
|
||||
|
||||
keySize: 128/32,
|
||||
|
||||
ivSize: 128/32,
|
||||
|
||||
_ENC_XFORM_MODE: 1,
|
||||
|
||||
_DEC_XFORM_MODE: 2,
|
||||
|
||||
/**
|
||||
* Creates shortcut functions to a cipher's object interface.
|
||||
*
|
||||
* @param {Cipher} cipher The cipher to create a helper for.
|
||||
*
|
||||
* @return {Object} An object with encrypt and decrypt shortcut functions.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);
|
||||
*/
|
||||
_createHelper: (function () {
|
||||
function selectCipherStrategy(key) {
|
||||
if (typeof key == 'string') {
|
||||
return PasswordBasedCipher;
|
||||
} else {
|
||||
return SerializableCipher;
|
||||
}
|
||||
}
|
||||
|
||||
return function (cipher) {
|
||||
return {
|
||||
encrypt: function (message, key, cfg) {
|
||||
return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);
|
||||
},
|
||||
|
||||
decrypt: function (ciphertext, key, cfg) {
|
||||
return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);
|
||||
}
|
||||
};
|
||||
};
|
||||
}())
|
||||
});
|
||||
|
||||
/**
|
||||
* Abstract base stream cipher template.
|
||||
*
|
||||
* @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)
|
||||
*/
|
||||
var StreamCipher = C_lib.StreamCipher = Cipher.extend({
|
||||
_doFinalize: function () {
|
||||
// Process partial blocks
|
||||
var finalProcessedBlocks = this._process(!!'flush');
|
||||
|
||||
return finalProcessedBlocks;
|
||||
},
|
||||
|
||||
blockSize: 1
|
||||
});
|
||||
|
||||
/**
|
||||
* Mode namespace.
|
||||
*/
|
||||
var C_mode = C.mode = {};
|
||||
|
||||
/**
|
||||
* Abstract base block cipher mode template.
|
||||
*/
|
||||
var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({
|
||||
/**
|
||||
* Creates this mode for encryption.
|
||||
*
|
||||
* @param {Cipher} cipher A block cipher instance.
|
||||
* @param {Array} iv The IV words.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);
|
||||
*/
|
||||
createEncryptor: function (cipher, iv) {
|
||||
return this.Encryptor.create(cipher, iv);
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates this mode for decryption.
|
||||
*
|
||||
* @param {Cipher} cipher A block cipher instance.
|
||||
* @param {Array} iv The IV words.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);
|
||||
*/
|
||||
createDecryptor: function (cipher, iv) {
|
||||
return this.Decryptor.create(cipher, iv);
|
||||
},
|
||||
|
||||
/**
|
||||
* Initializes a newly created mode.
|
||||
*
|
||||
* @param {Cipher} cipher A block cipher instance.
|
||||
* @param {Array} iv The IV words.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);
|
||||
*/
|
||||
init: function (cipher, iv) {
|
||||
this._cipher = cipher;
|
||||
this._iv = iv;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Cipher Block Chaining mode.
|
||||
*/
|
||||
var CBC = C_mode.CBC = (function () {
|
||||
/**
|
||||
* Abstract base CBC mode.
|
||||
*/
|
||||
var CBC = BlockCipherMode.extend();
|
||||
|
||||
/**
|
||||
* CBC encryptor.
|
||||
*/
|
||||
CBC.Encryptor = CBC.extend({
|
||||
/**
|
||||
* Processes the data block at offset.
|
||||
*
|
||||
* @param {Array} words The data words to operate on.
|
||||
* @param {number} offset The offset where the block starts.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* mode.processBlock(data.words, offset);
|
||||
*/
|
||||
processBlock: function (words, offset) {
|
||||
// Shortcuts
|
||||
var cipher = this._cipher;
|
||||
var blockSize = cipher.blockSize;
|
||||
|
||||
// XOR and encrypt
|
||||
xorBlock.call(this, words, offset, blockSize);
|
||||
cipher.encryptBlock(words, offset);
|
||||
|
||||
// Remember this block to use with next block
|
||||
this._prevBlock = words.slice(offset, offset + blockSize);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* CBC decryptor.
|
||||
*/
|
||||
CBC.Decryptor = CBC.extend({
|
||||
/**
|
||||
* Processes the data block at offset.
|
||||
*
|
||||
* @param {Array} words The data words to operate on.
|
||||
* @param {number} offset The offset where the block starts.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* mode.processBlock(data.words, offset);
|
||||
*/
|
||||
processBlock: function (words, offset) {
|
||||
// Shortcuts
|
||||
var cipher = this._cipher;
|
||||
var blockSize = cipher.blockSize;
|
||||
|
||||
// Remember this block to use with next block
|
||||
var thisBlock = words.slice(offset, offset + blockSize);
|
||||
|
||||
// Decrypt and XOR
|
||||
cipher.decryptBlock(words, offset);
|
||||
xorBlock.call(this, words, offset, blockSize);
|
||||
|
||||
// This block becomes the previous block
|
||||
this._prevBlock = thisBlock;
|
||||
}
|
||||
});
|
||||
|
||||
function xorBlock(words, offset, blockSize) {
|
||||
// Shortcut
|
||||
var iv = this._iv;
|
||||
|
||||
// Choose mixing block
|
||||
if (iv) {
|
||||
var block = iv;
|
||||
|
||||
// Remove IV for subsequent blocks
|
||||
this._iv = undefined;
|
||||
} else {
|
||||
var block = this._prevBlock;
|
||||
}
|
||||
|
||||
// XOR blocks
|
||||
for (var i = 0; i < blockSize; i++) {
|
||||
words[offset + i] ^= block[i];
|
||||
}
|
||||
}
|
||||
|
||||
return CBC;
|
||||
}());
|
||||
|
||||
/**
|
||||
* Padding namespace.
|
||||
*/
|
||||
var C_pad = C.pad = {};
|
||||
|
||||
/**
|
||||
* PKCS #5/7 padding strategy.
|
||||
*/
|
||||
var Pkcs7 = C_pad.Pkcs7 = {
|
||||
/**
|
||||
* Pads data using the algorithm defined in PKCS #5/7.
|
||||
*
|
||||
* @param {WordArray} data The data to pad.
|
||||
* @param {number} blockSize The multiple that the data should be padded to.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* CryptoJS.pad.Pkcs7.pad(wordArray, 4);
|
||||
*/
|
||||
pad: function (data, blockSize) {
|
||||
// Shortcut
|
||||
var blockSizeBytes = blockSize * 4;
|
||||
|
||||
// Count padding bytes
|
||||
var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
|
||||
|
||||
// Create padding word
|
||||
var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes;
|
||||
|
||||
// Create padding
|
||||
var paddingWords = [];
|
||||
for (var i = 0; i < nPaddingBytes; i += 4) {
|
||||
paddingWords.push(paddingWord);
|
||||
}
|
||||
var padding = WordArray.create(paddingWords, nPaddingBytes);
|
||||
|
||||
// Add padding
|
||||
data.concat(padding);
|
||||
},
|
||||
|
||||
/**
|
||||
* Unpads data that had been padded using the algorithm defined in PKCS #5/7.
|
||||
*
|
||||
* @param {WordArray} data The data to unpad.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* CryptoJS.pad.Pkcs7.unpad(wordArray);
|
||||
*/
|
||||
unpad: function (data) {
|
||||
// Get number of padding bytes from last byte
|
||||
var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
|
||||
|
||||
// Remove padding
|
||||
data.sigBytes -= nPaddingBytes;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Abstract base block cipher template.
|
||||
*
|
||||
* @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)
|
||||
*/
|
||||
var BlockCipher = C_lib.BlockCipher = Cipher.extend({
|
||||
/**
|
||||
* Configuration options.
|
||||
*
|
||||
* @property {Mode} mode The block mode to use. Default: CBC
|
||||
* @property {Padding} padding The padding strategy to use. Default: Pkcs7
|
||||
*/
|
||||
cfg: Cipher.cfg.extend({
|
||||
mode: CBC,
|
||||
padding: Pkcs7
|
||||
}),
|
||||
|
||||
reset: function () {
|
||||
// Reset cipher
|
||||
Cipher.reset.call(this);
|
||||
|
||||
// Shortcuts
|
||||
var cfg = this.cfg;
|
||||
var iv = cfg.iv;
|
||||
var mode = cfg.mode;
|
||||
|
||||
// Reset block mode
|
||||
if (this._xformMode == this._ENC_XFORM_MODE) {
|
||||
var modeCreator = mode.createEncryptor;
|
||||
} else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {
|
||||
var modeCreator = mode.createDecryptor;
|
||||
|
||||
// Keep at least one block in the buffer for unpadding
|
||||
this._minBufferSize = 1;
|
||||
}
|
||||
this._mode = modeCreator.call(mode, this, iv && iv.words);
|
||||
},
|
||||
|
||||
_doProcessBlock: function (words, offset) {
|
||||
this._mode.processBlock(words, offset);
|
||||
},
|
||||
|
||||
_doFinalize: function () {
|
||||
// Shortcut
|
||||
var padding = this.cfg.padding;
|
||||
|
||||
// Finalize
|
||||
if (this._xformMode == this._ENC_XFORM_MODE) {
|
||||
// Pad data
|
||||
padding.pad(this._data, this.blockSize);
|
||||
|
||||
// Process final blocks
|
||||
var finalProcessedBlocks = this._process(!!'flush');
|
||||
} else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {
|
||||
// Process final blocks
|
||||
var finalProcessedBlocks = this._process(!!'flush');
|
||||
|
||||
// Unpad data
|
||||
padding.unpad(finalProcessedBlocks);
|
||||
}
|
||||
|
||||
return finalProcessedBlocks;
|
||||
},
|
||||
|
||||
blockSize: 128/32
|
||||
});
|
||||
|
||||
/**
|
||||
* A collection of cipher parameters.
|
||||
*
|
||||
* @property {WordArray} ciphertext The raw ciphertext.
|
||||
* @property {WordArray} key The key to this ciphertext.
|
||||
* @property {WordArray} iv The IV used in the ciphering operation.
|
||||
* @property {WordArray} salt The salt used with a key derivation function.
|
||||
* @property {Cipher} algorithm The cipher algorithm.
|
||||
* @property {Mode} mode The block mode used in the ciphering operation.
|
||||
* @property {Padding} padding The padding scheme used in the ciphering operation.
|
||||
* @property {number} blockSize The block size of the cipher.
|
||||
* @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.
|
||||
*/
|
||||
var CipherParams = C_lib.CipherParams = Base.extend({
|
||||
/**
|
||||
* Initializes a newly created cipher params object.
|
||||
*
|
||||
* @param {Object} cipherParams An object with any of the possible cipher parameters.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var cipherParams = CryptoJS.lib.CipherParams.create({
|
||||
* ciphertext: ciphertextWordArray,
|
||||
* key: keyWordArray,
|
||||
* iv: ivWordArray,
|
||||
* salt: saltWordArray,
|
||||
* algorithm: CryptoJS.algo.AES,
|
||||
* mode: CryptoJS.mode.CBC,
|
||||
* padding: CryptoJS.pad.PKCS7,
|
||||
* blockSize: 4,
|
||||
* formatter: CryptoJS.format.OpenSSL
|
||||
* });
|
||||
*/
|
||||
init: function (cipherParams) {
|
||||
this.mixIn(cipherParams);
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts this cipher params object to a string.
|
||||
*
|
||||
* @param {Format} formatter (Optional) The formatting strategy to use.
|
||||
*
|
||||
* @return {string} The stringified cipher params.
|
||||
*
|
||||
* @throws Error If neither the formatter nor the default formatter is set.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var string = cipherParams + '';
|
||||
* var string = cipherParams.toString();
|
||||
* var string = cipherParams.toString(CryptoJS.format.OpenSSL);
|
||||
*/
|
||||
toString: function (formatter) {
|
||||
return (formatter || this.formatter).stringify(this);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Format namespace.
|
||||
*/
|
||||
var C_format = C.format = {};
|
||||
|
||||
/**
|
||||
* OpenSSL formatting strategy.
|
||||
*/
|
||||
var OpenSSLFormatter = C_format.OpenSSL = {
|
||||
/**
|
||||
* Converts a cipher params object to an OpenSSL-compatible string.
|
||||
*
|
||||
* @param {CipherParams} cipherParams The cipher params object.
|
||||
*
|
||||
* @return {string} The OpenSSL-compatible string.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);
|
||||
*/
|
||||
stringify: function (cipherParams) {
|
||||
// Shortcuts
|
||||
var ciphertext = cipherParams.ciphertext;
|
||||
var salt = cipherParams.salt;
|
||||
|
||||
// Format
|
||||
if (salt) {
|
||||
var wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);
|
||||
} else {
|
||||
var wordArray = ciphertext;
|
||||
}
|
||||
|
||||
return wordArray.toString(Base64);
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts an OpenSSL-compatible string to a cipher params object.
|
||||
*
|
||||
* @param {string} openSSLStr The OpenSSL-compatible string.
|
||||
*
|
||||
* @return {CipherParams} The cipher params object.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);
|
||||
*/
|
||||
parse: function (openSSLStr) {
|
||||
// Parse base64
|
||||
var ciphertext = Base64.parse(openSSLStr);
|
||||
|
||||
// Shortcut
|
||||
var ciphertextWords = ciphertext.words;
|
||||
|
||||
// Test for salt
|
||||
if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {
|
||||
// Extract salt
|
||||
var salt = WordArray.create(ciphertextWords.slice(2, 4));
|
||||
|
||||
// Remove salt from ciphertext
|
||||
ciphertextWords.splice(0, 4);
|
||||
ciphertext.sigBytes -= 16;
|
||||
}
|
||||
|
||||
return CipherParams.create({ ciphertext: ciphertext, salt: salt });
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* A cipher wrapper that returns ciphertext as a serializable cipher params object.
|
||||
*/
|
||||
var SerializableCipher = C_lib.SerializableCipher = Base.extend({
|
||||
/**
|
||||
* Configuration options.
|
||||
*
|
||||
* @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL
|
||||
*/
|
||||
cfg: Base.extend({
|
||||
format: OpenSSLFormatter
|
||||
}),
|
||||
|
||||
/**
|
||||
* Encrypts a message.
|
||||
*
|
||||
* @param {Cipher} cipher The cipher algorithm to use.
|
||||
* @param {WordArray|string} message The message to encrypt.
|
||||
* @param {WordArray} key The key.
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
||||
*
|
||||
* @return {CipherParams} A cipher params object.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);
|
||||
* var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });
|
||||
* var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });
|
||||
*/
|
||||
encrypt: function (cipher, message, key, cfg) {
|
||||
// Apply config defaults
|
||||
cfg = this.cfg.extend(cfg);
|
||||
|
||||
// Encrypt
|
||||
var encryptor = cipher.createEncryptor(key, cfg);
|
||||
var ciphertext = encryptor.finalize(message);
|
||||
|
||||
// Shortcut
|
||||
var cipherCfg = encryptor.cfg;
|
||||
|
||||
// Create and return serializable cipher params
|
||||
return CipherParams.create({
|
||||
ciphertext: ciphertext,
|
||||
key: key,
|
||||
iv: cipherCfg.iv,
|
||||
algorithm: cipher,
|
||||
mode: cipherCfg.mode,
|
||||
padding: cipherCfg.padding,
|
||||
blockSize: cipher.blockSize,
|
||||
formatter: cfg.format
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Decrypts serialized ciphertext.
|
||||
*
|
||||
* @param {Cipher} cipher The cipher algorithm to use.
|
||||
* @param {CipherParams|string} ciphertext The ciphertext to decrypt.
|
||||
* @param {WordArray} key The key.
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
||||
*
|
||||
* @return {WordArray} The plaintext.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });
|
||||
* var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });
|
||||
*/
|
||||
decrypt: function (cipher, ciphertext, key, cfg) {
|
||||
// Apply config defaults
|
||||
cfg = this.cfg.extend(cfg);
|
||||
|
||||
// Convert string to CipherParams
|
||||
ciphertext = this._parse(ciphertext, cfg.format);
|
||||
|
||||
// Decrypt
|
||||
var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);
|
||||
|
||||
return plaintext;
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts serialized ciphertext to CipherParams,
|
||||
* else assumed CipherParams already and returns ciphertext unchanged.
|
||||
*
|
||||
* @param {CipherParams|string} ciphertext The ciphertext.
|
||||
* @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.
|
||||
*
|
||||
* @return {CipherParams} The unserialized ciphertext.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);
|
||||
*/
|
||||
_parse: function (ciphertext, format) {
|
||||
if (typeof ciphertext == 'string') {
|
||||
return format.parse(ciphertext, this);
|
||||
} else {
|
||||
return ciphertext;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Key derivation function namespace.
|
||||
*/
|
||||
var C_kdf = C.kdf = {};
|
||||
|
||||
/**
|
||||
* OpenSSL key derivation function.
|
||||
*/
|
||||
var OpenSSLKdf = C_kdf.OpenSSL = {
|
||||
/**
|
||||
* Derives a key and IV from a password.
|
||||
*
|
||||
* @param {string} password The password to derive from.
|
||||
* @param {number} keySize The size in words of the key to generate.
|
||||
* @param {number} ivSize The size in words of the IV to generate.
|
||||
* @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.
|
||||
*
|
||||
* @return {CipherParams} A cipher params object with the key, IV, and salt.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);
|
||||
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');
|
||||
*/
|
||||
execute: function (password, keySize, ivSize, salt) {
|
||||
// Generate random salt
|
||||
if (!salt) {
|
||||
salt = WordArray.random(64/8);
|
||||
}
|
||||
|
||||
// Derive key and IV
|
||||
var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
|
||||
|
||||
// Separate key and IV
|
||||
var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
|
||||
key.sigBytes = keySize * 4;
|
||||
|
||||
// Return params
|
||||
return CipherParams.create({ key: key, iv: iv, salt: salt });
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* A serializable cipher wrapper that derives the key from a password,
|
||||
* and returns ciphertext as a serializable cipher params object.
|
||||
*/
|
||||
var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({
|
||||
/**
|
||||
* Configuration options.
|
||||
*
|
||||
* @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL
|
||||
*/
|
||||
cfg: SerializableCipher.cfg.extend({
|
||||
kdf: OpenSSLKdf
|
||||
}),
|
||||
|
||||
/**
|
||||
* Encrypts a message using a password.
|
||||
*
|
||||
* @param {Cipher} cipher The cipher algorithm to use.
|
||||
* @param {WordArray|string} message The message to encrypt.
|
||||
* @param {string} password The password.
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
||||
*
|
||||
* @return {CipherParams} A cipher params object.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');
|
||||
* var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });
|
||||
*/
|
||||
encrypt: function (cipher, message, password, cfg) {
|
||||
// Apply config defaults
|
||||
cfg = this.cfg.extend(cfg);
|
||||
|
||||
// Derive key and other params
|
||||
// MODIFIED: added cfg.salt param
|
||||
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt);
|
||||
|
||||
// Add IV to config
|
||||
cfg.iv = derivedParams.iv;
|
||||
|
||||
// Encrypt
|
||||
var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
|
||||
|
||||
// Mix in derived params
|
||||
ciphertext.mixIn(derivedParams);
|
||||
|
||||
return ciphertext;
|
||||
},
|
||||
|
||||
/**
|
||||
* Decrypts serialized ciphertext using a password.
|
||||
*
|
||||
* @param {Cipher} cipher The cipher algorithm to use.
|
||||
* @param {CipherParams|string} ciphertext The ciphertext to decrypt.
|
||||
* @param {string} password The password.
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
||||
*
|
||||
* @return {WordArray} The plaintext.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });
|
||||
* var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });
|
||||
*/
|
||||
decrypt: function (cipher, ciphertext, password, cfg) {
|
||||
// Apply config defaults
|
||||
cfg = this.cfg.extend(cfg);
|
||||
|
||||
// Convert string to CipherParams
|
||||
ciphertext = this._parse(ciphertext, cfg.format);
|
||||
|
||||
// Derive key and other params
|
||||
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);
|
||||
|
||||
// Add IV to config
|
||||
cfg.iv = derivedParams.iv;
|
||||
|
||||
// Decrypt
|
||||
var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
|
||||
|
||||
return plaintext;
|
||||
}
|
||||
});
|
||||
}());
|
||||
@@ -1,713 +0,0 @@
|
||||
/** @license
|
||||
========================================================================
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* CryptoJS core components.
|
||||
*/
|
||||
var CryptoJS = CryptoJS || (function (Math, undefined) {
|
||||
/**
|
||||
* CryptoJS namespace.
|
||||
*/
|
||||
var C = {};
|
||||
|
||||
/**
|
||||
* Library namespace.
|
||||
*/
|
||||
var C_lib = C.lib = {};
|
||||
|
||||
/**
|
||||
* Base object for prototypal inheritance.
|
||||
*/
|
||||
var Base = C_lib.Base = (function () {
|
||||
function F() {}
|
||||
|
||||
return {
|
||||
/**
|
||||
* Creates a new object that inherits from this object.
|
||||
*
|
||||
* @param {Object} overrides Properties to copy into the new object.
|
||||
*
|
||||
* @return {Object} The new object.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var MyType = CryptoJS.lib.Base.extend({
|
||||
* field: 'value',
|
||||
*
|
||||
* method: function () {
|
||||
* }
|
||||
* });
|
||||
*/
|
||||
extend: function (overrides) {
|
||||
// Spawn
|
||||
F.prototype = this;
|
||||
var subtype = new F();
|
||||
|
||||
// Augment
|
||||
if (overrides) {
|
||||
subtype.mixIn(overrides);
|
||||
}
|
||||
|
||||
// Create default initializer
|
||||
if (!subtype.hasOwnProperty('init')) {
|
||||
subtype.init = function () {
|
||||
subtype.$super.init.apply(this, arguments);
|
||||
};
|
||||
}
|
||||
|
||||
// Initializer's prototype is the subtype object
|
||||
subtype.init.prototype = subtype;
|
||||
|
||||
// Reference supertype
|
||||
subtype.$super = this;
|
||||
|
||||
return subtype;
|
||||
},
|
||||
|
||||
/**
|
||||
* Extends this object and runs the init method.
|
||||
* Arguments to create() will be passed to init().
|
||||
*
|
||||
* @return {Object} The new object.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var instance = MyType.create();
|
||||
*/
|
||||
create: function () {
|
||||
var instance = this.extend();
|
||||
instance.init.apply(instance, arguments);
|
||||
|
||||
return instance;
|
||||
},
|
||||
|
||||
/**
|
||||
* Initializes a newly created object.
|
||||
* Override this method to add some logic when your objects are created.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var MyType = CryptoJS.lib.Base.extend({
|
||||
* init: function () {
|
||||
* // ...
|
||||
* }
|
||||
* });
|
||||
*/
|
||||
init: function () {
|
||||
},
|
||||
|
||||
/**
|
||||
* Copies properties into this object.
|
||||
*
|
||||
* @param {Object} properties The properties to mix in.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* MyType.mixIn({
|
||||
* field: 'value'
|
||||
* });
|
||||
*/
|
||||
mixIn: function (properties) {
|
||||
for (var propertyName in properties) {
|
||||
if (properties.hasOwnProperty(propertyName)) {
|
||||
this[propertyName] = properties[propertyName];
|
||||
}
|
||||
}
|
||||
|
||||
// IE won't copy toString using the loop above
|
||||
if (properties.hasOwnProperty('toString')) {
|
||||
this.toString = properties.toString;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates a copy of this object.
|
||||
*
|
||||
* @return {Object} The clone.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var clone = instance.clone();
|
||||
*/
|
||||
clone: function () {
|
||||
return this.init.prototype.extend(this);
|
||||
}
|
||||
};
|
||||
}());
|
||||
|
||||
/**
|
||||
* An array of 32-bit words.
|
||||
*
|
||||
* @property {Array} words The array of 32-bit words.
|
||||
* @property {number} sigBytes The number of significant bytes in this word array.
|
||||
*/
|
||||
var WordArray = C_lib.WordArray = Base.extend({
|
||||
/**
|
||||
* Initializes a newly created word array.
|
||||
*
|
||||
* @param {Array} words (Optional) An array of 32-bit words.
|
||||
* @param {number} sigBytes (Optional) The number of significant bytes in the words.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var wordArray = CryptoJS.lib.WordArray.create();
|
||||
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
|
||||
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
|
||||
*/
|
||||
init: function (words, sigBytes) {
|
||||
words = this.words = words || [];
|
||||
|
||||
if (sigBytes != undefined) {
|
||||
this.sigBytes = sigBytes;
|
||||
} else {
|
||||
this.sigBytes = words.length * 4;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts this word array to a string.
|
||||
*
|
||||
* @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
|
||||
*
|
||||
* @return {string} The stringified word array.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var string = wordArray + '';
|
||||
* var string = wordArray.toString();
|
||||
* var string = wordArray.toString(CryptoJS.enc.Utf8);
|
||||
*/
|
||||
toString: function (encoder) {
|
||||
return (encoder || Hex).stringify(this);
|
||||
},
|
||||
|
||||
/**
|
||||
* Concatenates a word array to this word array.
|
||||
*
|
||||
* @param {WordArray} wordArray The word array to append.
|
||||
*
|
||||
* @return {WordArray} This word array.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* wordArray1.concat(wordArray2);
|
||||
*/
|
||||
concat: function (wordArray) {
|
||||
// Shortcuts
|
||||
var thisWords = this.words;
|
||||
var thatWords = wordArray.words;
|
||||
var thisSigBytes = this.sigBytes;
|
||||
var thatSigBytes = wordArray.sigBytes;
|
||||
|
||||
// Clamp excess bits
|
||||
this.clamp();
|
||||
|
||||
// Concat
|
||||
if (thisSigBytes % 4) {
|
||||
// Copy one byte at a time
|
||||
for (var i = 0; i < thatSigBytes; i++) {
|
||||
var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
|
||||
thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);
|
||||
}
|
||||
} else if (thatWords.length > 0xffff) {
|
||||
// Copy one word at a time
|
||||
for (var i = 0; i < thatSigBytes; i += 4) {
|
||||
thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2];
|
||||
}
|
||||
} else {
|
||||
// Copy all words at once
|
||||
thisWords.push.apply(thisWords, thatWords);
|
||||
}
|
||||
this.sigBytes += thatSigBytes;
|
||||
|
||||
// Chainable
|
||||
return this;
|
||||
},
|
||||
|
||||
/**
|
||||
* Removes insignificant bits.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* wordArray.clamp();
|
||||
*/
|
||||
clamp: function () {
|
||||
// Shortcuts
|
||||
var words = this.words;
|
||||
var sigBytes = this.sigBytes;
|
||||
|
||||
// Clamp
|
||||
words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);
|
||||
words.length = Math.ceil(sigBytes / 4);
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates a copy of this word array.
|
||||
*
|
||||
* @return {WordArray} The clone.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var clone = wordArray.clone();
|
||||
*/
|
||||
clone: function () {
|
||||
var clone = Base.clone.call(this);
|
||||
clone.words = this.words.slice(0);
|
||||
|
||||
return clone;
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates a word array filled with random bytes.
|
||||
*
|
||||
* @param {number} nBytes The number of random bytes to generate.
|
||||
*
|
||||
* @return {WordArray} The random word array.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var wordArray = CryptoJS.lib.WordArray.random(16);
|
||||
*/
|
||||
random: function (nBytes) {
|
||||
var words = [];
|
||||
for (var i = 0; i < nBytes; i += 4) {
|
||||
words.push((Math.random() * 0x100000000) | 0);
|
||||
}
|
||||
|
||||
return new WordArray.init(words, nBytes);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Encoder namespace.
|
||||
*/
|
||||
var C_enc = C.enc = {};
|
||||
|
||||
/**
|
||||
* Hex encoding strategy.
|
||||
*/
|
||||
var Hex = C_enc.Hex = {
|
||||
/**
|
||||
* Converts a word array to a hex string.
|
||||
*
|
||||
* @param {WordArray} wordArray The word array.
|
||||
*
|
||||
* @return {string} The hex string.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hexString = CryptoJS.enc.Hex.stringify(wordArray);
|
||||
*/
|
||||
stringify: function (wordArray) {
|
||||
// Shortcuts
|
||||
var words = wordArray.words;
|
||||
var sigBytes = wordArray.sigBytes;
|
||||
|
||||
// Convert
|
||||
var hexChars = [];
|
||||
for (var i = 0; i < sigBytes; i++) {
|
||||
var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
|
||||
hexChars.push((bite >>> 4).toString(16));
|
||||
hexChars.push((bite & 0x0f).toString(16));
|
||||
}
|
||||
|
||||
return hexChars.join('');
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts a hex string to a word array.
|
||||
*
|
||||
* @param {string} hexStr The hex string.
|
||||
*
|
||||
* @return {WordArray} The word array.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var wordArray = CryptoJS.enc.Hex.parse(hexString);
|
||||
*/
|
||||
parse: function (hexStr) {
|
||||
// Shortcut
|
||||
var hexStrLength = hexStr.length;
|
||||
|
||||
// Convert
|
||||
var words = [];
|
||||
for (var i = 0; i < hexStrLength; i += 2) {
|
||||
words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);
|
||||
}
|
||||
|
||||
return new WordArray.init(words, hexStrLength / 2);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Latin1 encoding strategy.
|
||||
*/
|
||||
var Latin1 = C_enc.Latin1 = {
|
||||
/**
|
||||
* Converts a word array to a Latin1 string.
|
||||
*
|
||||
* @param {WordArray} wordArray The word array.
|
||||
*
|
||||
* @return {string} The Latin1 string.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
|
||||
*/
|
||||
stringify: function (wordArray) {
|
||||
// Shortcuts
|
||||
var words = wordArray.words;
|
||||
var sigBytes = wordArray.sigBytes;
|
||||
|
||||
// Convert
|
||||
var latin1Chars = [];
|
||||
for (var i = 0; i < sigBytes; i++) {
|
||||
var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
|
||||
latin1Chars.push(String.fromCharCode(bite));
|
||||
}
|
||||
|
||||
return latin1Chars.join('');
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts a Latin1 string to a word array.
|
||||
*
|
||||
* @param {string} latin1Str The Latin1 string.
|
||||
*
|
||||
* @return {WordArray} The word array.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
|
||||
*/
|
||||
parse: function (latin1Str) {
|
||||
// Shortcut
|
||||
var latin1StrLength = latin1Str.length;
|
||||
|
||||
// Convert
|
||||
var words = [];
|
||||
for (var i = 0; i < latin1StrLength; i++) {
|
||||
words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);
|
||||
}
|
||||
|
||||
return new WordArray.init(words, latin1StrLength);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* UTF-8 encoding strategy.
|
||||
*/
|
||||
var Utf8 = C_enc.Utf8 = {
|
||||
/**
|
||||
* Converts a word array to a UTF-8 string.
|
||||
*
|
||||
* @param {WordArray} wordArray The word array.
|
||||
*
|
||||
* @return {string} The UTF-8 string.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
|
||||
*/
|
||||
stringify: function (wordArray) {
|
||||
try {
|
||||
return decodeURIComponent(escape(Latin1.stringify(wordArray)));
|
||||
} catch (e) {
|
||||
throw new Error('Malformed UTF-8 data');
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts a UTF-8 string to a word array.
|
||||
*
|
||||
* @param {string} utf8Str The UTF-8 string.
|
||||
*
|
||||
* @return {WordArray} The word array.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
|
||||
*/
|
||||
parse: function (utf8Str) {
|
||||
return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Abstract buffered block algorithm template.
|
||||
*
|
||||
* The property blockSize must be implemented in a concrete subtype.
|
||||
*
|
||||
* @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
|
||||
*/
|
||||
var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
|
||||
/**
|
||||
* Resets this block algorithm's data buffer to its initial state.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* bufferedBlockAlgorithm.reset();
|
||||
*/
|
||||
reset: function () {
|
||||
// Initial values
|
||||
this._data = new WordArray.init();
|
||||
this._nDataBytes = 0;
|
||||
},
|
||||
|
||||
/**
|
||||
* Adds new data to this block algorithm's buffer.
|
||||
*
|
||||
* @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* bufferedBlockAlgorithm._append('data');
|
||||
* bufferedBlockAlgorithm._append(wordArray);
|
||||
*/
|
||||
_append: function (data) {
|
||||
// Convert string to WordArray, else assume WordArray already
|
||||
if (typeof data == 'string') {
|
||||
data = Utf8.parse(data);
|
||||
}
|
||||
|
||||
// Append
|
||||
this._data.concat(data);
|
||||
this._nDataBytes += data.sigBytes;
|
||||
},
|
||||
|
||||
/**
|
||||
* Processes available data blocks.
|
||||
*
|
||||
* This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
|
||||
*
|
||||
* @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
|
||||
*
|
||||
* @return {WordArray} The processed data.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var processedData = bufferedBlockAlgorithm._process();
|
||||
* var processedData = bufferedBlockAlgorithm._process(!!'flush');
|
||||
*/
|
||||
_process: function (doFlush) {
|
||||
// Shortcuts
|
||||
var data = this._data;
|
||||
var dataWords = data.words;
|
||||
var dataSigBytes = data.sigBytes;
|
||||
var blockSize = this.blockSize;
|
||||
var blockSizeBytes = blockSize * 4;
|
||||
|
||||
// Count blocks ready
|
||||
var nBlocksReady = dataSigBytes / blockSizeBytes;
|
||||
if (doFlush) {
|
||||
// Round up to include partial blocks
|
||||
nBlocksReady = Math.ceil(nBlocksReady);
|
||||
} else {
|
||||
// Round down to include only full blocks,
|
||||
// less the number of blocks that must remain in the buffer
|
||||
nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
|
||||
}
|
||||
|
||||
// Count words ready
|
||||
var nWordsReady = nBlocksReady * blockSize;
|
||||
|
||||
// Count bytes ready
|
||||
var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
|
||||
|
||||
// Process blocks
|
||||
if (nWordsReady) {
|
||||
for (var offset = 0; offset < nWordsReady; offset += blockSize) {
|
||||
// Perform concrete-algorithm logic
|
||||
this._doProcessBlock(dataWords, offset);
|
||||
}
|
||||
|
||||
// Remove processed words
|
||||
var processedWords = dataWords.splice(0, nWordsReady);
|
||||
data.sigBytes -= nBytesReady;
|
||||
}
|
||||
|
||||
// Return processed words
|
||||
return new WordArray.init(processedWords, nBytesReady);
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates a copy of this object.
|
||||
*
|
||||
* @return {Object} The clone.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var clone = bufferedBlockAlgorithm.clone();
|
||||
*/
|
||||
clone: function () {
|
||||
var clone = Base.clone.call(this);
|
||||
clone._data = this._data.clone();
|
||||
|
||||
return clone;
|
||||
},
|
||||
|
||||
_minBufferSize: 0
|
||||
});
|
||||
|
||||
/**
|
||||
* Abstract hasher template.
|
||||
*
|
||||
* @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
|
||||
*/
|
||||
var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({
|
||||
/**
|
||||
* Configuration options.
|
||||
*/
|
||||
cfg: Base.extend(),
|
||||
|
||||
/**
|
||||
* Initializes a newly created hasher.
|
||||
*
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this hash computation.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hasher = CryptoJS.algo.SHA256.create();
|
||||
*/
|
||||
init: function (cfg) {
|
||||
// Apply config defaults
|
||||
this.cfg = this.cfg.extend(cfg);
|
||||
|
||||
// Set initial values
|
||||
this.reset();
|
||||
},
|
||||
|
||||
/**
|
||||
* Resets this hasher to its initial state.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* hasher.reset();
|
||||
*/
|
||||
reset: function () {
|
||||
// Reset data buffer
|
||||
BufferedBlockAlgorithm.reset.call(this);
|
||||
|
||||
// Perform concrete-hasher logic
|
||||
this._doReset();
|
||||
},
|
||||
|
||||
/**
|
||||
* Updates this hasher with a message.
|
||||
*
|
||||
* @param {WordArray|string} messageUpdate The message to append.
|
||||
*
|
||||
* @return {Hasher} This hasher.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* hasher.update('message');
|
||||
* hasher.update(wordArray);
|
||||
*/
|
||||
update: function (messageUpdate) {
|
||||
// Append
|
||||
this._append(messageUpdate);
|
||||
|
||||
// Update the hash
|
||||
this._process();
|
||||
|
||||
// Chainable
|
||||
return this;
|
||||
},
|
||||
|
||||
/**
|
||||
* Finalizes the hash computation.
|
||||
* Note that the finalize operation is effectively a destructive, read-once operation.
|
||||
*
|
||||
* @param {WordArray|string} messageUpdate (Optional) A final message update.
|
||||
*
|
||||
* @return {WordArray} The hash.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hash = hasher.finalize();
|
||||
* var hash = hasher.finalize('message');
|
||||
* var hash = hasher.finalize(wordArray);
|
||||
*/
|
||||
finalize: function (messageUpdate) {
|
||||
// Final message update
|
||||
if (messageUpdate) {
|
||||
this._append(messageUpdate);
|
||||
}
|
||||
|
||||
// Perform concrete-hasher logic
|
||||
var hash = this._doFinalize();
|
||||
|
||||
return hash;
|
||||
},
|
||||
|
||||
blockSize: 512/32,
|
||||
|
||||
/**
|
||||
* Creates a shortcut function to a hasher's object interface.
|
||||
*
|
||||
* @param {Hasher} hasher The hasher to create a helper for.
|
||||
*
|
||||
* @return {Function} The shortcut function.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
|
||||
*/
|
||||
_createHelper: function (hasher) {
|
||||
return function (message, cfg) {
|
||||
return new hasher.init(cfg).finalize(message);
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates a shortcut function to the HMAC's object interface.
|
||||
*
|
||||
* @param {Hasher} hasher The hasher to use in this HMAC helper.
|
||||
*
|
||||
* @return {Function} The shortcut function.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
|
||||
*/
|
||||
_createHmacHelper: function (hasher) {
|
||||
return function (message, key) {
|
||||
return new C_algo.HMAC.init(hasher, key).finalize(message);
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Algorithm namespace.
|
||||
*/
|
||||
var C_algo = C.algo = {};
|
||||
|
||||
return C;
|
||||
}(Math));
|
||||
@@ -1,109 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var WordArray = C_lib.WordArray;
|
||||
var C_enc = C.enc;
|
||||
|
||||
/**
|
||||
* Base64 encoding strategy.
|
||||
*/
|
||||
var Base64 = C_enc.Base64 = {
|
||||
/**
|
||||
* Converts a word array to a Base64 string.
|
||||
*
|
||||
* @param {WordArray} wordArray The word array.
|
||||
*
|
||||
* @return {string} The Base64 string.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var base64String = CryptoJS.enc.Base64.stringify(wordArray);
|
||||
*/
|
||||
stringify: function (wordArray) {
|
||||
// Shortcuts
|
||||
var words = wordArray.words;
|
||||
var sigBytes = wordArray.sigBytes;
|
||||
var map = this._map;
|
||||
|
||||
// Clamp excess bits
|
||||
wordArray.clamp();
|
||||
|
||||
// Convert
|
||||
var base64Chars = [];
|
||||
for (var i = 0; i < sigBytes; i += 3) {
|
||||
var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
|
||||
var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;
|
||||
var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;
|
||||
|
||||
var triplet = (byte1 << 16) | (byte2 << 8) | byte3;
|
||||
|
||||
for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {
|
||||
base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));
|
||||
}
|
||||
}
|
||||
|
||||
// Add padding
|
||||
var paddingChar = map.charAt(64);
|
||||
if (paddingChar) {
|
||||
while (base64Chars.length % 4) {
|
||||
base64Chars.push(paddingChar);
|
||||
}
|
||||
}
|
||||
|
||||
return base64Chars.join('');
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts a Base64 string to a word array.
|
||||
*
|
||||
* @param {string} base64Str The Base64 string.
|
||||
*
|
||||
* @return {WordArray} The word array.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var wordArray = CryptoJS.enc.Base64.parse(base64String);
|
||||
*/
|
||||
parse: function (base64Str) {
|
||||
// Shortcuts
|
||||
var base64StrLength = base64Str.length;
|
||||
var map = this._map;
|
||||
|
||||
// Ignore padding
|
||||
var paddingChar = map.charAt(64);
|
||||
if (paddingChar) {
|
||||
var paddingIndex = base64Str.indexOf(paddingChar);
|
||||
if (paddingIndex != -1) {
|
||||
base64StrLength = paddingIndex;
|
||||
}
|
||||
}
|
||||
|
||||
// Convert
|
||||
var words = [];
|
||||
var nBytes = 0;
|
||||
for (var i = 0; i < base64StrLength; i++) {
|
||||
if (i % 4) {
|
||||
var bits1 = map.indexOf(base64Str.charAt(i - 1)) << ((i % 4) * 2);
|
||||
var bits2 = map.indexOf(base64Str.charAt(i)) >>> (6 - (i % 4) * 2);
|
||||
words[nBytes >>> 2] |= (bits1 | bits2) << (24 - (nBytes % 4) * 8);
|
||||
nBytes++;
|
||||
}
|
||||
}
|
||||
|
||||
return WordArray.create(words, nBytes);
|
||||
},
|
||||
|
||||
_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
|
||||
};
|
||||
}());
|
||||
@@ -1,135 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var WordArray = C_lib.WordArray;
|
||||
var C_enc = C.enc;
|
||||
|
||||
/**
|
||||
* UTF-16 BE encoding strategy.
|
||||
*/
|
||||
var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {
|
||||
/**
|
||||
* Converts a word array to a UTF-16 BE string.
|
||||
*
|
||||
* @param {WordArray} wordArray The word array.
|
||||
*
|
||||
* @return {string} The UTF-16 BE string.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);
|
||||
*/
|
||||
stringify: function (wordArray) {
|
||||
// Shortcuts
|
||||
var words = wordArray.words;
|
||||
var sigBytes = wordArray.sigBytes;
|
||||
|
||||
// Convert
|
||||
var utf16Chars = [];
|
||||
for (var i = 0; i < sigBytes; i += 2) {
|
||||
var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff;
|
||||
utf16Chars.push(String.fromCharCode(codePoint));
|
||||
}
|
||||
|
||||
return utf16Chars.join('');
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts a UTF-16 BE string to a word array.
|
||||
*
|
||||
* @param {string} utf16Str The UTF-16 BE string.
|
||||
*
|
||||
* @return {WordArray} The word array.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var wordArray = CryptoJS.enc.Utf16.parse(utf16String);
|
||||
*/
|
||||
parse: function (utf16Str) {
|
||||
// Shortcut
|
||||
var utf16StrLength = utf16Str.length;
|
||||
|
||||
// Convert
|
||||
var words = [];
|
||||
for (var i = 0; i < utf16StrLength; i++) {
|
||||
words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16);
|
||||
}
|
||||
|
||||
return WordArray.create(words, utf16StrLength * 2);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* UTF-16 LE encoding strategy.
|
||||
*/
|
||||
C_enc.Utf16LE = {
|
||||
/**
|
||||
* Converts a word array to a UTF-16 LE string.
|
||||
*
|
||||
* @param {WordArray} wordArray The word array.
|
||||
*
|
||||
* @return {string} The UTF-16 LE string.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);
|
||||
*/
|
||||
stringify: function (wordArray) {
|
||||
// Shortcuts
|
||||
var words = wordArray.words;
|
||||
var sigBytes = wordArray.sigBytes;
|
||||
|
||||
// Convert
|
||||
var utf16Chars = [];
|
||||
for (var i = 0; i < sigBytes; i += 2) {
|
||||
var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff);
|
||||
utf16Chars.push(String.fromCharCode(codePoint));
|
||||
}
|
||||
|
||||
return utf16Chars.join('');
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts a UTF-16 LE string to a word array.
|
||||
*
|
||||
* @param {string} utf16Str The UTF-16 LE string.
|
||||
*
|
||||
* @return {WordArray} The word array.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);
|
||||
*/
|
||||
parse: function (utf16Str) {
|
||||
// Shortcut
|
||||
var utf16StrLength = utf16Str.length;
|
||||
|
||||
// Convert
|
||||
var words = [];
|
||||
for (var i = 0; i < utf16StrLength; i++) {
|
||||
words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16));
|
||||
}
|
||||
|
||||
return WordArray.create(words, utf16StrLength * 2);
|
||||
}
|
||||
};
|
||||
|
||||
function swapEndian(word) {
|
||||
return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff);
|
||||
}
|
||||
}());
|
||||
@@ -1,118 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var Base = C_lib.Base;
|
||||
var WordArray = C_lib.WordArray;
|
||||
var C_algo = C.algo;
|
||||
var MD5 = C_algo.MD5;
|
||||
|
||||
/**
|
||||
* This key derivation function is meant to conform with EVP_BytesToKey.
|
||||
* www.openssl.org/docs/crypto/EVP_BytesToKey.html
|
||||
*/
|
||||
var EvpKDF = C_algo.EvpKDF = Base.extend({
|
||||
/**
|
||||
* Configuration options.
|
||||
*
|
||||
* @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
|
||||
* @property {Hasher} hasher The hash algorithm to use. Default: MD5
|
||||
* @property {number} iterations The number of iterations to perform. Default: 1
|
||||
*/
|
||||
cfg: Base.extend({
|
||||
keySize: 128/32,
|
||||
hasher: MD5,
|
||||
iterations: 1
|
||||
}),
|
||||
|
||||
/**
|
||||
* Initializes a newly created key derivation function.
|
||||
*
|
||||
* @param {Object} cfg (Optional) The configuration options to use for the derivation.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var kdf = CryptoJS.algo.EvpKDF.create();
|
||||
* var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });
|
||||
* var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });
|
||||
*/
|
||||
init: function (cfg) {
|
||||
this.cfg = this.cfg.extend(cfg);
|
||||
},
|
||||
|
||||
/**
|
||||
* Derives a key from a password.
|
||||
*
|
||||
* @param {WordArray|string} password The password.
|
||||
* @param {WordArray|string} salt A salt.
|
||||
*
|
||||
* @return {WordArray} The derived key.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var key = kdf.compute(password, salt);
|
||||
*/
|
||||
compute: function (password, salt) {
|
||||
// Shortcut
|
||||
var cfg = this.cfg;
|
||||
|
||||
// Init hasher
|
||||
var hasher = cfg.hasher.create();
|
||||
|
||||
// Initial values
|
||||
var derivedKey = WordArray.create();
|
||||
|
||||
// Shortcuts
|
||||
var derivedKeyWords = derivedKey.words;
|
||||
var keySize = cfg.keySize;
|
||||
var iterations = cfg.iterations;
|
||||
|
||||
// Generate key
|
||||
while (derivedKeyWords.length < keySize) {
|
||||
if (block) {
|
||||
hasher.update(block);
|
||||
}
|
||||
var block = hasher.update(password).finalize(salt);
|
||||
hasher.reset();
|
||||
|
||||
// Iterations
|
||||
for (var i = 1; i < iterations; i++) {
|
||||
block = hasher.finalize(block);
|
||||
hasher.reset();
|
||||
}
|
||||
|
||||
derivedKey.concat(block);
|
||||
}
|
||||
derivedKey.sigBytes = keySize * 4;
|
||||
|
||||
return derivedKey;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Derives a key from a password.
|
||||
*
|
||||
* @param {WordArray|string} password The password.
|
||||
* @param {WordArray|string} salt A salt.
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this computation.
|
||||
*
|
||||
* @return {WordArray} The derived key.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var key = CryptoJS.EvpKDF(password, salt);
|
||||
* var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });
|
||||
* var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });
|
||||
*/
|
||||
C.EvpKDF = function (password, salt, cfg) {
|
||||
return EvpKDF.create(cfg).compute(password, salt);
|
||||
};
|
||||
}());
|
||||
@@ -1,52 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function (undefined) {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var CipherParams = C_lib.CipherParams;
|
||||
var C_enc = C.enc;
|
||||
var Hex = C_enc.Hex;
|
||||
var C_format = C.format;
|
||||
|
||||
var HexFormatter = C_format.Hex = {
|
||||
/**
|
||||
* Converts the ciphertext of a cipher params object to a hexadecimally encoded string.
|
||||
*
|
||||
* @param {CipherParams} cipherParams The cipher params object.
|
||||
*
|
||||
* @return {string} The hexadecimally encoded string.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hexString = CryptoJS.format.Hex.stringify(cipherParams);
|
||||
*/
|
||||
stringify: function (cipherParams) {
|
||||
return cipherParams.ciphertext.toString(Hex);
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts a hexadecimally encoded ciphertext string to a cipher params object.
|
||||
*
|
||||
* @param {string} input The hexadecimally encoded string.
|
||||
*
|
||||
* @return {CipherParams} The cipher params object.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var cipherParams = CryptoJS.format.Hex.parse(hexString);
|
||||
*/
|
||||
parse: function (input) {
|
||||
var ciphertext = Hex.parse(input);
|
||||
return CipherParams.create({ ciphertext: ciphertext });
|
||||
}
|
||||
};
|
||||
}());
|
||||
@@ -1,131 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var Base = C_lib.Base;
|
||||
var C_enc = C.enc;
|
||||
var Utf8 = C_enc.Utf8;
|
||||
var C_algo = C.algo;
|
||||
|
||||
/**
|
||||
* HMAC algorithm.
|
||||
*/
|
||||
var HMAC = C_algo.HMAC = Base.extend({
|
||||
/**
|
||||
* Initializes a newly created HMAC.
|
||||
*
|
||||
* @param {Hasher} hasher The hash algorithm to use.
|
||||
* @param {WordArray|string} key The secret key.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);
|
||||
*/
|
||||
init: function (hasher, key) {
|
||||
// Init hasher
|
||||
hasher = this._hasher = new hasher.init();
|
||||
|
||||
// Convert string to WordArray, else assume WordArray already
|
||||
if (typeof key == 'string') {
|
||||
key = Utf8.parse(key);
|
||||
}
|
||||
|
||||
// Shortcuts
|
||||
var hasherBlockSize = hasher.blockSize;
|
||||
var hasherBlockSizeBytes = hasherBlockSize * 4;
|
||||
|
||||
// Allow arbitrary length keys
|
||||
if (key.sigBytes > hasherBlockSizeBytes) {
|
||||
key = hasher.finalize(key);
|
||||
}
|
||||
|
||||
// Clamp excess bits
|
||||
key.clamp();
|
||||
|
||||
// Clone key for inner and outer pads
|
||||
var oKey = this._oKey = key.clone();
|
||||
var iKey = this._iKey = key.clone();
|
||||
|
||||
// Shortcuts
|
||||
var oKeyWords = oKey.words;
|
||||
var iKeyWords = iKey.words;
|
||||
|
||||
// XOR keys with pad constants
|
||||
for (var i = 0; i < hasherBlockSize; i++) {
|
||||
oKeyWords[i] ^= 0x5c5c5c5c;
|
||||
iKeyWords[i] ^= 0x36363636;
|
||||
}
|
||||
oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
|
||||
|
||||
// Set initial values
|
||||
this.reset();
|
||||
},
|
||||
|
||||
/**
|
||||
* Resets this HMAC to its initial state.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* hmacHasher.reset();
|
||||
*/
|
||||
reset: function () {
|
||||
// Shortcut
|
||||
var hasher = this._hasher;
|
||||
|
||||
// Reset
|
||||
hasher.reset();
|
||||
hasher.update(this._iKey);
|
||||
},
|
||||
|
||||
/**
|
||||
* Updates this HMAC with a message.
|
||||
*
|
||||
* @param {WordArray|string} messageUpdate The message to append.
|
||||
*
|
||||
* @return {HMAC} This HMAC instance.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* hmacHasher.update('message');
|
||||
* hmacHasher.update(wordArray);
|
||||
*/
|
||||
update: function (messageUpdate) {
|
||||
this._hasher.update(messageUpdate);
|
||||
|
||||
// Chainable
|
||||
return this;
|
||||
},
|
||||
|
||||
/**
|
||||
* Finalizes the HMAC computation.
|
||||
* Note that the finalize operation is effectively a destructive, read-once operation.
|
||||
*
|
||||
* @param {WordArray|string} messageUpdate (Optional) A final message update.
|
||||
*
|
||||
* @return {WordArray} The HMAC.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hmac = hmacHasher.finalize();
|
||||
* var hmac = hmacHasher.finalize('message');
|
||||
* var hmac = hmacHasher.finalize(wordArray);
|
||||
*/
|
||||
finalize: function (messageUpdate) {
|
||||
// Shortcut
|
||||
var hasher = this._hasher;
|
||||
|
||||
// Compute HMAC
|
||||
var innerHash = hasher.finalize(messageUpdate);
|
||||
hasher.reset();
|
||||
var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
|
||||
|
||||
return hmac;
|
||||
}
|
||||
});
|
||||
}());
|
||||
@@ -1,62 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Check if typed arrays are supported
|
||||
if (typeof ArrayBuffer != 'function') {
|
||||
return;
|
||||
}
|
||||
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var WordArray = C_lib.WordArray;
|
||||
|
||||
// Reference original init
|
||||
var superInit = WordArray.init;
|
||||
|
||||
// Augment WordArray.init to handle typed arrays
|
||||
var subInit = WordArray.init = function (typedArray) {
|
||||
// Convert buffers to uint8
|
||||
if (typedArray instanceof ArrayBuffer) {
|
||||
typedArray = new Uint8Array(typedArray);
|
||||
}
|
||||
|
||||
// Convert other array views to uint8
|
||||
if (
|
||||
typedArray instanceof Int8Array ||
|
||||
typedArray instanceof Uint8ClampedArray ||
|
||||
typedArray instanceof Int16Array ||
|
||||
typedArray instanceof Uint16Array ||
|
||||
typedArray instanceof Int32Array ||
|
||||
typedArray instanceof Uint32Array ||
|
||||
typedArray instanceof Float32Array ||
|
||||
typedArray instanceof Float64Array
|
||||
) {
|
||||
typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
|
||||
}
|
||||
|
||||
// Handle Uint8Array
|
||||
if (typedArray instanceof Uint8Array) {
|
||||
// Shortcut
|
||||
var typedArrayByteLength = typedArray.byteLength;
|
||||
|
||||
// Extract bytes
|
||||
var words = [];
|
||||
for (var i = 0; i < typedArrayByteLength; i++) {
|
||||
words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8);
|
||||
}
|
||||
|
||||
// Initialize this word array
|
||||
superInit.call(this, words, typedArrayByteLength);
|
||||
} else {
|
||||
// Else call normal init
|
||||
superInit.apply(this, arguments);
|
||||
}
|
||||
};
|
||||
|
||||
subInit.prototype = WordArray;
|
||||
}());
|
||||
@@ -1,254 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function (Math) {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var WordArray = C_lib.WordArray;
|
||||
var Hasher = C_lib.Hasher;
|
||||
var C_algo = C.algo;
|
||||
|
||||
// Constants table
|
||||
var T = [];
|
||||
|
||||
// Compute constants
|
||||
(function () {
|
||||
for (var i = 0; i < 64; i++) {
|
||||
T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;
|
||||
}
|
||||
}());
|
||||
|
||||
/**
|
||||
* MD5 hash algorithm.
|
||||
*/
|
||||
var MD5 = C_algo.MD5 = Hasher.extend({
|
||||
_doReset: function () {
|
||||
this._hash = new WordArray.init([
|
||||
0x67452301, 0xefcdab89,
|
||||
0x98badcfe, 0x10325476
|
||||
]);
|
||||
},
|
||||
|
||||
_doProcessBlock: function (M, offset) {
|
||||
// Swap endian
|
||||
for (var i = 0; i < 16; i++) {
|
||||
// Shortcuts
|
||||
var offset_i = offset + i;
|
||||
var M_offset_i = M[offset_i];
|
||||
|
||||
M[offset_i] = (
|
||||
(((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
|
||||
(((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
|
||||
);
|
||||
}
|
||||
|
||||
// Shortcuts
|
||||
var H = this._hash.words;
|
||||
|
||||
var M_offset_0 = M[offset + 0];
|
||||
var M_offset_1 = M[offset + 1];
|
||||
var M_offset_2 = M[offset + 2];
|
||||
var M_offset_3 = M[offset + 3];
|
||||
var M_offset_4 = M[offset + 4];
|
||||
var M_offset_5 = M[offset + 5];
|
||||
var M_offset_6 = M[offset + 6];
|
||||
var M_offset_7 = M[offset + 7];
|
||||
var M_offset_8 = M[offset + 8];
|
||||
var M_offset_9 = M[offset + 9];
|
||||
var M_offset_10 = M[offset + 10];
|
||||
var M_offset_11 = M[offset + 11];
|
||||
var M_offset_12 = M[offset + 12];
|
||||
var M_offset_13 = M[offset + 13];
|
||||
var M_offset_14 = M[offset + 14];
|
||||
var M_offset_15 = M[offset + 15];
|
||||
|
||||
// Working variables
|
||||
var a = H[0];
|
||||
var b = H[1];
|
||||
var c = H[2];
|
||||
var d = H[3];
|
||||
|
||||
// Computation
|
||||
a = FF(a, b, c, d, M_offset_0, 7, T[0]);
|
||||
d = FF(d, a, b, c, M_offset_1, 12, T[1]);
|
||||
c = FF(c, d, a, b, M_offset_2, 17, T[2]);
|
||||
b = FF(b, c, d, a, M_offset_3, 22, T[3]);
|
||||
a = FF(a, b, c, d, M_offset_4, 7, T[4]);
|
||||
d = FF(d, a, b, c, M_offset_5, 12, T[5]);
|
||||
c = FF(c, d, a, b, M_offset_6, 17, T[6]);
|
||||
b = FF(b, c, d, a, M_offset_7, 22, T[7]);
|
||||
a = FF(a, b, c, d, M_offset_8, 7, T[8]);
|
||||
d = FF(d, a, b, c, M_offset_9, 12, T[9]);
|
||||
c = FF(c, d, a, b, M_offset_10, 17, T[10]);
|
||||
b = FF(b, c, d, a, M_offset_11, 22, T[11]);
|
||||
a = FF(a, b, c, d, M_offset_12, 7, T[12]);
|
||||
d = FF(d, a, b, c, M_offset_13, 12, T[13]);
|
||||
c = FF(c, d, a, b, M_offset_14, 17, T[14]);
|
||||
b = FF(b, c, d, a, M_offset_15, 22, T[15]);
|
||||
|
||||
a = GG(a, b, c, d, M_offset_1, 5, T[16]);
|
||||
d = GG(d, a, b, c, M_offset_6, 9, T[17]);
|
||||
c = GG(c, d, a, b, M_offset_11, 14, T[18]);
|
||||
b = GG(b, c, d, a, M_offset_0, 20, T[19]);
|
||||
a = GG(a, b, c, d, M_offset_5, 5, T[20]);
|
||||
d = GG(d, a, b, c, M_offset_10, 9, T[21]);
|
||||
c = GG(c, d, a, b, M_offset_15, 14, T[22]);
|
||||
b = GG(b, c, d, a, M_offset_4, 20, T[23]);
|
||||
a = GG(a, b, c, d, M_offset_9, 5, T[24]);
|
||||
d = GG(d, a, b, c, M_offset_14, 9, T[25]);
|
||||
c = GG(c, d, a, b, M_offset_3, 14, T[26]);
|
||||
b = GG(b, c, d, a, M_offset_8, 20, T[27]);
|
||||
a = GG(a, b, c, d, M_offset_13, 5, T[28]);
|
||||
d = GG(d, a, b, c, M_offset_2, 9, T[29]);
|
||||
c = GG(c, d, a, b, M_offset_7, 14, T[30]);
|
||||
b = GG(b, c, d, a, M_offset_12, 20, T[31]);
|
||||
|
||||
a = HH(a, b, c, d, M_offset_5, 4, T[32]);
|
||||
d = HH(d, a, b, c, M_offset_8, 11, T[33]);
|
||||
c = HH(c, d, a, b, M_offset_11, 16, T[34]);
|
||||
b = HH(b, c, d, a, M_offset_14, 23, T[35]);
|
||||
a = HH(a, b, c, d, M_offset_1, 4, T[36]);
|
||||
d = HH(d, a, b, c, M_offset_4, 11, T[37]);
|
||||
c = HH(c, d, a, b, M_offset_7, 16, T[38]);
|
||||
b = HH(b, c, d, a, M_offset_10, 23, T[39]);
|
||||
a = HH(a, b, c, d, M_offset_13, 4, T[40]);
|
||||
d = HH(d, a, b, c, M_offset_0, 11, T[41]);
|
||||
c = HH(c, d, a, b, M_offset_3, 16, T[42]);
|
||||
b = HH(b, c, d, a, M_offset_6, 23, T[43]);
|
||||
a = HH(a, b, c, d, M_offset_9, 4, T[44]);
|
||||
d = HH(d, a, b, c, M_offset_12, 11, T[45]);
|
||||
c = HH(c, d, a, b, M_offset_15, 16, T[46]);
|
||||
b = HH(b, c, d, a, M_offset_2, 23, T[47]);
|
||||
|
||||
a = II(a, b, c, d, M_offset_0, 6, T[48]);
|
||||
d = II(d, a, b, c, M_offset_7, 10, T[49]);
|
||||
c = II(c, d, a, b, M_offset_14, 15, T[50]);
|
||||
b = II(b, c, d, a, M_offset_5, 21, T[51]);
|
||||
a = II(a, b, c, d, M_offset_12, 6, T[52]);
|
||||
d = II(d, a, b, c, M_offset_3, 10, T[53]);
|
||||
c = II(c, d, a, b, M_offset_10, 15, T[54]);
|
||||
b = II(b, c, d, a, M_offset_1, 21, T[55]);
|
||||
a = II(a, b, c, d, M_offset_8, 6, T[56]);
|
||||
d = II(d, a, b, c, M_offset_15, 10, T[57]);
|
||||
c = II(c, d, a, b, M_offset_6, 15, T[58]);
|
||||
b = II(b, c, d, a, M_offset_13, 21, T[59]);
|
||||
a = II(a, b, c, d, M_offset_4, 6, T[60]);
|
||||
d = II(d, a, b, c, M_offset_11, 10, T[61]);
|
||||
c = II(c, d, a, b, M_offset_2, 15, T[62]);
|
||||
b = II(b, c, d, a, M_offset_9, 21, T[63]);
|
||||
|
||||
// Intermediate hash value
|
||||
H[0] = (H[0] + a) | 0;
|
||||
H[1] = (H[1] + b) | 0;
|
||||
H[2] = (H[2] + c) | 0;
|
||||
H[3] = (H[3] + d) | 0;
|
||||
},
|
||||
|
||||
_doFinalize: function () {
|
||||
// Shortcuts
|
||||
var data = this._data;
|
||||
var dataWords = data.words;
|
||||
|
||||
var nBitsTotal = this._nDataBytes * 8;
|
||||
var nBitsLeft = data.sigBytes * 8;
|
||||
|
||||
// Add padding
|
||||
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
|
||||
|
||||
var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);
|
||||
var nBitsTotalL = nBitsTotal;
|
||||
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (
|
||||
(((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |
|
||||
(((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)
|
||||
);
|
||||
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
|
||||
(((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |
|
||||
(((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)
|
||||
);
|
||||
|
||||
data.sigBytes = (dataWords.length + 1) * 4;
|
||||
|
||||
// Hash final blocks
|
||||
this._process();
|
||||
|
||||
// Shortcuts
|
||||
var hash = this._hash;
|
||||
var H = hash.words;
|
||||
|
||||
// Swap endian
|
||||
for (var i = 0; i < 4; i++) {
|
||||
// Shortcut
|
||||
var H_i = H[i];
|
||||
|
||||
H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
|
||||
(((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);
|
||||
}
|
||||
|
||||
// Return final computed hash
|
||||
return hash;
|
||||
},
|
||||
|
||||
clone: function () {
|
||||
var clone = Hasher.clone.call(this);
|
||||
clone._hash = this._hash.clone();
|
||||
|
||||
return clone;
|
||||
}
|
||||
});
|
||||
|
||||
function FF(a, b, c, d, x, s, t) {
|
||||
var n = a + ((b & c) | (~b & d)) + x + t;
|
||||
return ((n << s) | (n >>> (32 - s))) + b;
|
||||
}
|
||||
|
||||
function GG(a, b, c, d, x, s, t) {
|
||||
var n = a + ((b & d) | (c & ~d)) + x + t;
|
||||
return ((n << s) | (n >>> (32 - s))) + b;
|
||||
}
|
||||
|
||||
function HH(a, b, c, d, x, s, t) {
|
||||
var n = a + (b ^ c ^ d) + x + t;
|
||||
return ((n << s) | (n >>> (32 - s))) + b;
|
||||
}
|
||||
|
||||
function II(a, b, c, d, x, s, t) {
|
||||
var n = a + (c ^ (b | ~d)) + x + t;
|
||||
return ((n << s) | (n >>> (32 - s))) + b;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortcut function to the hasher's object interface.
|
||||
*
|
||||
* @param {WordArray|string} message The message to hash.
|
||||
*
|
||||
* @return {WordArray} The hash.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hash = CryptoJS.MD5('message');
|
||||
* var hash = CryptoJS.MD5(wordArray);
|
||||
*/
|
||||
C.MD5 = Hasher._createHelper(MD5);
|
||||
|
||||
/**
|
||||
* Shortcut function to the HMAC's object interface.
|
||||
*
|
||||
* @param {WordArray|string} message The message to hash.
|
||||
* @param {WordArray|string} key The secret key.
|
||||
*
|
||||
* @return {WordArray} The HMAC.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hmac = CryptoJS.HmacMD5(message, key);
|
||||
*/
|
||||
C.HmacMD5 = Hasher._createHmacHelper(MD5);
|
||||
}(Math));
|
||||
@@ -1,64 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* Cipher Feedback block mode.
|
||||
*/
|
||||
CryptoJS.mode.CFB = (function () {
|
||||
var CFB = CryptoJS.lib.BlockCipherMode.extend();
|
||||
|
||||
CFB.Encryptor = CFB.extend({
|
||||
processBlock: function (words, offset) {
|
||||
// Shortcuts
|
||||
var cipher = this._cipher;
|
||||
var blockSize = cipher.blockSize;
|
||||
|
||||
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
|
||||
|
||||
// Remember this block to use with next block
|
||||
this._prevBlock = words.slice(offset, offset + blockSize);
|
||||
}
|
||||
});
|
||||
|
||||
CFB.Decryptor = CFB.extend({
|
||||
processBlock: function (words, offset) {
|
||||
// Shortcuts
|
||||
var cipher = this._cipher;
|
||||
var blockSize = cipher.blockSize;
|
||||
|
||||
// Remember this block to use with next block
|
||||
var thisBlock = words.slice(offset, offset + blockSize);
|
||||
|
||||
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
|
||||
|
||||
// This block becomes the previous block
|
||||
this._prevBlock = thisBlock;
|
||||
}
|
||||
});
|
||||
|
||||
function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
|
||||
// Shortcut
|
||||
var iv = this._iv;
|
||||
|
||||
// Generate keystream
|
||||
if (iv) {
|
||||
var keystream = iv.slice(0);
|
||||
|
||||
// Remove IV for subsequent blocks
|
||||
this._iv = undefined;
|
||||
} else {
|
||||
var keystream = this._prevBlock;
|
||||
}
|
||||
cipher.encryptBlock(keystream, 0);
|
||||
|
||||
// Encrypt
|
||||
for (var i = 0; i < blockSize; i++) {
|
||||
words[offset + i] ^= keystream[i];
|
||||
}
|
||||
}
|
||||
|
||||
return CFB;
|
||||
}());
|
||||
@@ -1,104 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/** @license
|
||||
========================================================================
|
||||
CryptoJS.mode.CTRGladman
|
||||
Counter block mode compatible with Dr Brian Gladman fileenc.c
|
||||
derived from CryptoJS.mode.CTR
|
||||
Jan Hruby jhruby.web@gmail.com
|
||||
*/
|
||||
CryptoJS.mode.CTRGladman = (function () {
|
||||
var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();
|
||||
|
||||
function incWord(word)
|
||||
{
|
||||
if (((word >> 24) & 0xff) === 0xff) { //overflow
|
||||
var b1 = (word >> 16)&0xff;
|
||||
var b2 = (word >> 8)&0xff;
|
||||
var b3 = word & 0xff;
|
||||
|
||||
if (b1 === 0xff) // overflow b1
|
||||
{
|
||||
b1 = 0;
|
||||
if (b2 === 0xff)
|
||||
{
|
||||
b2 = 0;
|
||||
if (b3 === 0xff)
|
||||
{
|
||||
b3 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
++b3;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
++b2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
++b1;
|
||||
}
|
||||
|
||||
word = 0;
|
||||
word += (b1 << 16);
|
||||
word += (b2 << 8);
|
||||
word += b3;
|
||||
}
|
||||
else
|
||||
{
|
||||
word += (0x01 << 24);
|
||||
}
|
||||
return word;
|
||||
}
|
||||
|
||||
function incCounter(counter)
|
||||
{
|
||||
if ((counter[0] = incWord(counter[0])) === 0)
|
||||
{
|
||||
// encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8
|
||||
counter[1] = incWord(counter[1]);
|
||||
}
|
||||
return counter;
|
||||
}
|
||||
|
||||
var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({
|
||||
processBlock: function (words, offset) {
|
||||
// Shortcuts
|
||||
var cipher = this._cipher
|
||||
var blockSize = cipher.blockSize;
|
||||
var iv = this._iv;
|
||||
var counter = this._counter;
|
||||
|
||||
// Generate keystream
|
||||
if (iv) {
|
||||
counter = this._counter = iv.slice(0);
|
||||
|
||||
// Remove IV for subsequent blocks
|
||||
this._iv = undefined;
|
||||
}
|
||||
|
||||
incCounter(counter);
|
||||
|
||||
var keystream = counter.slice(0);
|
||||
cipher.encryptBlock(keystream, 0);
|
||||
|
||||
// Encrypt
|
||||
for (var i = 0; i < blockSize; i++) {
|
||||
words[offset + i] ^= keystream[i];
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
CTRGladman.Decryptor = Encryptor;
|
||||
|
||||
return CTRGladman;
|
||||
}());
|
||||
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* Counter block mode.
|
||||
*/
|
||||
CryptoJS.mode.CTR = (function () {
|
||||
var CTR = CryptoJS.lib.BlockCipherMode.extend();
|
||||
|
||||
var Encryptor = CTR.Encryptor = CTR.extend({
|
||||
processBlock: function (words, offset) {
|
||||
// Shortcuts
|
||||
var cipher = this._cipher
|
||||
var blockSize = cipher.blockSize;
|
||||
var iv = this._iv;
|
||||
var counter = this._counter;
|
||||
|
||||
// Generate keystream
|
||||
if (iv) {
|
||||
counter = this._counter = iv.slice(0);
|
||||
|
||||
// Remove IV for subsequent blocks
|
||||
this._iv = undefined;
|
||||
}
|
||||
var keystream = counter.slice(0);
|
||||
cipher.encryptBlock(keystream, 0);
|
||||
|
||||
// Increment counter
|
||||
counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0
|
||||
|
||||
// Encrypt
|
||||
for (var i = 0; i < blockSize; i++) {
|
||||
words[offset + i] ^= keystream[i];
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
CTR.Decryptor = Encryptor;
|
||||
|
||||
return CTR;
|
||||
}());
|
||||
@@ -1,26 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* Electronic Codebook block mode.
|
||||
*/
|
||||
CryptoJS.mode.ECB = (function () {
|
||||
var ECB = CryptoJS.lib.BlockCipherMode.extend();
|
||||
|
||||
ECB.Encryptor = ECB.extend({
|
||||
processBlock: function (words, offset) {
|
||||
this._cipher.encryptBlock(words, offset);
|
||||
}
|
||||
});
|
||||
|
||||
ECB.Decryptor = ECB.extend({
|
||||
processBlock: function (words, offset) {
|
||||
this._cipher.decryptBlock(words, offset);
|
||||
}
|
||||
});
|
||||
|
||||
return ECB;
|
||||
}());
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* Output Feedback block mode.
|
||||
*/
|
||||
CryptoJS.mode.OFB = (function () {
|
||||
var OFB = CryptoJS.lib.BlockCipherMode.extend();
|
||||
|
||||
var Encryptor = OFB.Encryptor = OFB.extend({
|
||||
processBlock: function (words, offset) {
|
||||
// Shortcuts
|
||||
var cipher = this._cipher
|
||||
var blockSize = cipher.blockSize;
|
||||
var iv = this._iv;
|
||||
var keystream = this._keystream;
|
||||
|
||||
// Generate keystream
|
||||
if (iv) {
|
||||
keystream = this._keystream = iv.slice(0);
|
||||
|
||||
// Remove IV for subsequent blocks
|
||||
this._iv = undefined;
|
||||
}
|
||||
cipher.encryptBlock(keystream, 0);
|
||||
|
||||
// Encrypt
|
||||
for (var i = 0; i < blockSize; i++) {
|
||||
words[offset + i] ^= keystream[i];
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
OFB.Decryptor = Encryptor;
|
||||
|
||||
return OFB;
|
||||
}());
|
||||
@@ -1,35 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* ANSI X.923 padding strategy.
|
||||
*/
|
||||
CryptoJS.pad.AnsiX923 = {
|
||||
pad: function (data, blockSize) {
|
||||
// Shortcuts
|
||||
var dataSigBytes = data.sigBytes;
|
||||
var blockSizeBytes = blockSize * 4;
|
||||
|
||||
// Count padding bytes
|
||||
var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;
|
||||
|
||||
// Compute last byte position
|
||||
var lastBytePos = dataSigBytes + nPaddingBytes - 1;
|
||||
|
||||
// Pad
|
||||
data.clamp();
|
||||
data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8);
|
||||
data.sigBytes += nPaddingBytes;
|
||||
},
|
||||
|
||||
unpad: function (data) {
|
||||
// Get number of padding bytes from last byte
|
||||
var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
|
||||
|
||||
// Remove padding
|
||||
data.sigBytes -= nPaddingBytes;
|
||||
}
|
||||
};
|
||||
@@ -1,30 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* ISO 10126 padding strategy.
|
||||
*/
|
||||
CryptoJS.pad.Iso10126 = {
|
||||
pad: function (data, blockSize) {
|
||||
// Shortcut
|
||||
var blockSizeBytes = blockSize * 4;
|
||||
|
||||
// Count padding bytes
|
||||
var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
|
||||
|
||||
// Pad
|
||||
data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).
|
||||
concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
|
||||
},
|
||||
|
||||
unpad: function (data) {
|
||||
// Get number of padding bytes from last byte
|
||||
var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
|
||||
|
||||
// Remove padding
|
||||
data.sigBytes -= nPaddingBytes;
|
||||
}
|
||||
};
|
||||
@@ -1,26 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* ISO/IEC 9797-1 Padding Method 2.
|
||||
*/
|
||||
CryptoJS.pad.Iso97971 = {
|
||||
pad: function (data, blockSize) {
|
||||
// Add 0x80 byte
|
||||
data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));
|
||||
|
||||
// Zero pad the rest
|
||||
CryptoJS.pad.ZeroPadding.pad(data, blockSize);
|
||||
},
|
||||
|
||||
unpad: function (data) {
|
||||
// Remove zero padding
|
||||
CryptoJS.pad.ZeroPadding.unpad(data);
|
||||
|
||||
// Remove one more byte -- the 0x80 byte
|
||||
data.sigBytes--;
|
||||
}
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* A noop padding strategy.
|
||||
*/
|
||||
CryptoJS.pad.NoPadding = {
|
||||
pad: function () {
|
||||
},
|
||||
|
||||
unpad: function () {
|
||||
}
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/**
|
||||
* Zero padding strategy.
|
||||
*/
|
||||
CryptoJS.pad.ZeroPadding = {
|
||||
pad: function (data, blockSize) {
|
||||
// Shortcut
|
||||
var blockSizeBytes = blockSize * 4;
|
||||
|
||||
// Pad
|
||||
data.clamp();
|
||||
data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);
|
||||
},
|
||||
|
||||
unpad: function (data) {
|
||||
// Shortcut
|
||||
var dataWords = data.words;
|
||||
|
||||
// Unpad
|
||||
var i = data.sigBytes - 1;
|
||||
while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {
|
||||
i--;
|
||||
}
|
||||
data.sigBytes = i + 1;
|
||||
}
|
||||
};
|
||||
@@ -1,131 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var Base = C_lib.Base;
|
||||
var WordArray = C_lib.WordArray;
|
||||
var C_algo = C.algo;
|
||||
var SHA1 = C_algo.SHA1;
|
||||
var HMAC = C_algo.HMAC;
|
||||
|
||||
/**
|
||||
* Password-Based Key Derivation Function 2 algorithm.
|
||||
*/
|
||||
var PBKDF2 = C_algo.PBKDF2 = Base.extend({
|
||||
/**
|
||||
* Configuration options.
|
||||
*
|
||||
* @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
|
||||
* @property {Hasher} hasher The hasher to use. Default: SHA1
|
||||
* @property {number} iterations The number of iterations to perform. Default: 1
|
||||
*/
|
||||
cfg: Base.extend({
|
||||
keySize: 128/32,
|
||||
hasher: SHA1,
|
||||
iterations: 1
|
||||
}),
|
||||
|
||||
/**
|
||||
* Initializes a newly created key derivation function.
|
||||
*
|
||||
* @param {Object} cfg (Optional) The configuration options to use for the derivation.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var kdf = CryptoJS.algo.PBKDF2.create();
|
||||
* var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });
|
||||
* var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });
|
||||
*/
|
||||
init: function (cfg) {
|
||||
this.cfg = this.cfg.extend(cfg);
|
||||
},
|
||||
|
||||
/**
|
||||
* Computes the Password-Based Key Derivation Function 2.
|
||||
*
|
||||
* @param {WordArray|string} password The password.
|
||||
* @param {WordArray|string} salt A salt.
|
||||
*
|
||||
* @return {WordArray} The derived key.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var key = kdf.compute(password, salt);
|
||||
*/
|
||||
compute: function (password, salt) {
|
||||
// Shortcut
|
||||
var cfg = this.cfg;
|
||||
|
||||
// Init HMAC
|
||||
var hmac = HMAC.create(cfg.hasher, password);
|
||||
|
||||
// Initial values
|
||||
var derivedKey = WordArray.create();
|
||||
var blockIndex = WordArray.create([0x00000001]);
|
||||
|
||||
// Shortcuts
|
||||
var derivedKeyWords = derivedKey.words;
|
||||
var blockIndexWords = blockIndex.words;
|
||||
var keySize = cfg.keySize;
|
||||
var iterations = cfg.iterations;
|
||||
|
||||
// Generate key
|
||||
while (derivedKeyWords.length < keySize) {
|
||||
var block = hmac.update(salt).finalize(blockIndex);
|
||||
hmac.reset();
|
||||
|
||||
// Shortcuts
|
||||
var blockWords = block.words;
|
||||
var blockWordsLength = blockWords.length;
|
||||
|
||||
// Iterations
|
||||
var intermediate = block;
|
||||
for (var i = 1; i < iterations; i++) {
|
||||
intermediate = hmac.finalize(intermediate);
|
||||
hmac.reset();
|
||||
|
||||
// Shortcut
|
||||
var intermediateWords = intermediate.words;
|
||||
|
||||
// XOR intermediate with block
|
||||
for (var j = 0; j < blockWordsLength; j++) {
|
||||
blockWords[j] ^= intermediateWords[j];
|
||||
}
|
||||
}
|
||||
|
||||
derivedKey.concat(block);
|
||||
blockIndexWords[0]++;
|
||||
}
|
||||
derivedKey.sigBytes = keySize * 4;
|
||||
|
||||
return derivedKey;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Computes the Password-Based Key Derivation Function 2.
|
||||
*
|
||||
* @param {WordArray|string} password The password.
|
||||
* @param {WordArray|string} salt A salt.
|
||||
* @param {Object} cfg (Optional) The configuration options to use for this computation.
|
||||
*
|
||||
* @return {WordArray} The derived key.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var key = CryptoJS.PBKDF2(password, salt);
|
||||
* var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });
|
||||
* var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });
|
||||
*/
|
||||
C.PBKDF2 = function (password, salt, cfg) {
|
||||
return PBKDF2.create(cfg).compute(password, salt);
|
||||
};
|
||||
}());
|
||||
@@ -1,176 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var StreamCipher = C_lib.StreamCipher;
|
||||
var C_algo = C.algo;
|
||||
|
||||
// Reusable objects
|
||||
var S = [];
|
||||
var C_ = [];
|
||||
var G = [];
|
||||
|
||||
/**
|
||||
* Rabbit stream cipher algorithm.
|
||||
*
|
||||
* This is a legacy version that neglected to convert the key to little-endian.
|
||||
* This error doesn't affect the cipher's security,
|
||||
* but it does affect its compatibility with other implementations.
|
||||
*/
|
||||
var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({
|
||||
_doReset: function () {
|
||||
// Shortcuts
|
||||
var K = this._key.words;
|
||||
var iv = this.cfg.iv;
|
||||
|
||||
// Generate initial state values
|
||||
var X = this._X = [
|
||||
K[0], (K[3] << 16) | (K[2] >>> 16),
|
||||
K[1], (K[0] << 16) | (K[3] >>> 16),
|
||||
K[2], (K[1] << 16) | (K[0] >>> 16),
|
||||
K[3], (K[2] << 16) | (K[1] >>> 16)
|
||||
];
|
||||
|
||||
// Generate initial counter values
|
||||
var C = this._C = [
|
||||
(K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),
|
||||
(K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),
|
||||
(K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),
|
||||
(K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)
|
||||
];
|
||||
|
||||
// Carry bit
|
||||
this._b = 0;
|
||||
|
||||
// Iterate the system four times
|
||||
for (var i = 0; i < 4; i++) {
|
||||
nextState.call(this);
|
||||
}
|
||||
|
||||
// Modify the counters
|
||||
for (var i = 0; i < 8; i++) {
|
||||
C[i] ^= X[(i + 4) & 7];
|
||||
}
|
||||
|
||||
// IV setup
|
||||
if (iv) {
|
||||
// Shortcuts
|
||||
var IV = iv.words;
|
||||
var IV_0 = IV[0];
|
||||
var IV_1 = IV[1];
|
||||
|
||||
// Generate four subvectors
|
||||
var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);
|
||||
var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);
|
||||
var i1 = (i0 >>> 16) | (i2 & 0xffff0000);
|
||||
var i3 = (i2 << 16) | (i0 & 0x0000ffff);
|
||||
|
||||
// Modify counter values
|
||||
C[0] ^= i0;
|
||||
C[1] ^= i1;
|
||||
C[2] ^= i2;
|
||||
C[3] ^= i3;
|
||||
C[4] ^= i0;
|
||||
C[5] ^= i1;
|
||||
C[6] ^= i2;
|
||||
C[7] ^= i3;
|
||||
|
||||
// Iterate the system four times
|
||||
for (var i = 0; i < 4; i++) {
|
||||
nextState.call(this);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_doProcessBlock: function (M, offset) {
|
||||
// Shortcut
|
||||
var X = this._X;
|
||||
|
||||
// Iterate the system
|
||||
nextState.call(this);
|
||||
|
||||
// Generate four keystream words
|
||||
S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);
|
||||
S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);
|
||||
S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);
|
||||
S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);
|
||||
|
||||
for (var i = 0; i < 4; i++) {
|
||||
// Swap endian
|
||||
S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |
|
||||
(((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);
|
||||
|
||||
// Encrypt
|
||||
M[offset + i] ^= S[i];
|
||||
}
|
||||
},
|
||||
|
||||
blockSize: 128/32,
|
||||
|
||||
ivSize: 64/32
|
||||
});
|
||||
|
||||
function nextState() {
|
||||
// Shortcuts
|
||||
var X = this._X;
|
||||
var C = this._C;
|
||||
|
||||
// Save old counter values
|
||||
for (var i = 0; i < 8; i++) {
|
||||
C_[i] = C[i];
|
||||
}
|
||||
|
||||
// Calculate new counter values
|
||||
C[0] = (C[0] + 0x4d34d34d + this._b) | 0;
|
||||
C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;
|
||||
C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;
|
||||
C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;
|
||||
C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;
|
||||
C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;
|
||||
C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;
|
||||
C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;
|
||||
this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;
|
||||
|
||||
// Calculate the g-values
|
||||
for (var i = 0; i < 8; i++) {
|
||||
var gx = X[i] + C[i];
|
||||
|
||||
// Construct high and low argument for squaring
|
||||
var ga = gx & 0xffff;
|
||||
var gb = gx >>> 16;
|
||||
|
||||
// Calculate high and low result of squaring
|
||||
var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;
|
||||
var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);
|
||||
|
||||
// High XOR low
|
||||
G[i] = gh ^ gl;
|
||||
}
|
||||
|
||||
// Calculate new state values
|
||||
X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;
|
||||
X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;
|
||||
X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;
|
||||
X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;
|
||||
X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;
|
||||
X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;
|
||||
X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;
|
||||
X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortcut functions to the cipher's object interface.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);
|
||||
* var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);
|
||||
*/
|
||||
C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);
|
||||
}());
|
||||
@@ -1,178 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var StreamCipher = C_lib.StreamCipher;
|
||||
var C_algo = C.algo;
|
||||
|
||||
// Reusable objects
|
||||
var S = [];
|
||||
var C_ = [];
|
||||
var G = [];
|
||||
|
||||
/**
|
||||
* Rabbit stream cipher algorithm
|
||||
*/
|
||||
var Rabbit = C_algo.Rabbit = StreamCipher.extend({
|
||||
_doReset: function () {
|
||||
// Shortcuts
|
||||
var K = this._key.words;
|
||||
var iv = this.cfg.iv;
|
||||
|
||||
// Swap endian
|
||||
for (var i = 0; i < 4; i++) {
|
||||
K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) |
|
||||
(((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00);
|
||||
}
|
||||
|
||||
// Generate initial state values
|
||||
var X = this._X = [
|
||||
K[0], (K[3] << 16) | (K[2] >>> 16),
|
||||
K[1], (K[0] << 16) | (K[3] >>> 16),
|
||||
K[2], (K[1] << 16) | (K[0] >>> 16),
|
||||
K[3], (K[2] << 16) | (K[1] >>> 16)
|
||||
];
|
||||
|
||||
// Generate initial counter values
|
||||
var C = this._C = [
|
||||
(K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),
|
||||
(K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),
|
||||
(K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),
|
||||
(K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)
|
||||
];
|
||||
|
||||
// Carry bit
|
||||
this._b = 0;
|
||||
|
||||
// Iterate the system four times
|
||||
for (var i = 0; i < 4; i++) {
|
||||
nextState.call(this);
|
||||
}
|
||||
|
||||
// Modify the counters
|
||||
for (var i = 0; i < 8; i++) {
|
||||
C[i] ^= X[(i + 4) & 7];
|
||||
}
|
||||
|
||||
// IV setup
|
||||
if (iv) {
|
||||
// Shortcuts
|
||||
var IV = iv.words;
|
||||
var IV_0 = IV[0];
|
||||
var IV_1 = IV[1];
|
||||
|
||||
// Generate four subvectors
|
||||
var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);
|
||||
var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);
|
||||
var i1 = (i0 >>> 16) | (i2 & 0xffff0000);
|
||||
var i3 = (i2 << 16) | (i0 & 0x0000ffff);
|
||||
|
||||
// Modify counter values
|
||||
C[0] ^= i0;
|
||||
C[1] ^= i1;
|
||||
C[2] ^= i2;
|
||||
C[3] ^= i3;
|
||||
C[4] ^= i0;
|
||||
C[5] ^= i1;
|
||||
C[6] ^= i2;
|
||||
C[7] ^= i3;
|
||||
|
||||
// Iterate the system four times
|
||||
for (var i = 0; i < 4; i++) {
|
||||
nextState.call(this);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_doProcessBlock: function (M, offset) {
|
||||
// Shortcut
|
||||
var X = this._X;
|
||||
|
||||
// Iterate the system
|
||||
nextState.call(this);
|
||||
|
||||
// Generate four keystream words
|
||||
S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);
|
||||
S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);
|
||||
S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);
|
||||
S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);
|
||||
|
||||
for (var i = 0; i < 4; i++) {
|
||||
// Swap endian
|
||||
S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |
|
||||
(((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);
|
||||
|
||||
// Encrypt
|
||||
M[offset + i] ^= S[i];
|
||||
}
|
||||
},
|
||||
|
||||
blockSize: 128/32,
|
||||
|
||||
ivSize: 64/32
|
||||
});
|
||||
|
||||
function nextState() {
|
||||
// Shortcuts
|
||||
var X = this._X;
|
||||
var C = this._C;
|
||||
|
||||
// Save old counter values
|
||||
for (var i = 0; i < 8; i++) {
|
||||
C_[i] = C[i];
|
||||
}
|
||||
|
||||
// Calculate new counter values
|
||||
C[0] = (C[0] + 0x4d34d34d + this._b) | 0;
|
||||
C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;
|
||||
C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;
|
||||
C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;
|
||||
C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;
|
||||
C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;
|
||||
C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;
|
||||
C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;
|
||||
this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;
|
||||
|
||||
// Calculate the g-values
|
||||
for (var i = 0; i < 8; i++) {
|
||||
var gx = X[i] + C[i];
|
||||
|
||||
// Construct high and low argument for squaring
|
||||
var ga = gx & 0xffff;
|
||||
var gb = gx >>> 16;
|
||||
|
||||
// Calculate high and low result of squaring
|
||||
var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;
|
||||
var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);
|
||||
|
||||
// High XOR low
|
||||
G[i] = gh ^ gl;
|
||||
}
|
||||
|
||||
// Calculate new state values
|
||||
X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;
|
||||
X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;
|
||||
X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;
|
||||
X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;
|
||||
X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;
|
||||
X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;
|
||||
X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;
|
||||
X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortcut functions to the cipher's object interface.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);
|
||||
* var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);
|
||||
*/
|
||||
C.Rabbit = StreamCipher._createHelper(Rabbit);
|
||||
}());
|
||||
@@ -1,125 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var StreamCipher = C_lib.StreamCipher;
|
||||
var C_algo = C.algo;
|
||||
|
||||
/**
|
||||
* RC4 stream cipher algorithm.
|
||||
*/
|
||||
var RC4 = C_algo.RC4 = StreamCipher.extend({
|
||||
_doReset: function () {
|
||||
// Shortcuts
|
||||
var key = this._key;
|
||||
var keyWords = key.words;
|
||||
var keySigBytes = key.sigBytes;
|
||||
|
||||
// Init sbox
|
||||
var S = this._S = [];
|
||||
for (var i = 0; i < 256; i++) {
|
||||
S[i] = i;
|
||||
}
|
||||
|
||||
// Key setup
|
||||
for (var i = 0, j = 0; i < 256; i++) {
|
||||
var keyByteIndex = i % keySigBytes;
|
||||
var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff;
|
||||
|
||||
j = (j + S[i] + keyByte) % 256;
|
||||
|
||||
// Swap
|
||||
var t = S[i];
|
||||
S[i] = S[j];
|
||||
S[j] = t;
|
||||
}
|
||||
|
||||
// Counters
|
||||
this._i = this._j = 0;
|
||||
},
|
||||
|
||||
_doProcessBlock: function (M, offset) {
|
||||
M[offset] ^= generateKeystreamWord.call(this);
|
||||
},
|
||||
|
||||
keySize: 256/32,
|
||||
|
||||
ivSize: 0
|
||||
});
|
||||
|
||||
function generateKeystreamWord() {
|
||||
// Shortcuts
|
||||
var S = this._S;
|
||||
var i = this._i;
|
||||
var j = this._j;
|
||||
|
||||
// Generate keystream word
|
||||
var keystreamWord = 0;
|
||||
for (var n = 0; n < 4; n++) {
|
||||
i = (i + 1) % 256;
|
||||
j = (j + S[i]) % 256;
|
||||
|
||||
// Swap
|
||||
var t = S[i];
|
||||
S[i] = S[j];
|
||||
S[j] = t;
|
||||
|
||||
keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8);
|
||||
}
|
||||
|
||||
// Update counters
|
||||
this._i = i;
|
||||
this._j = j;
|
||||
|
||||
return keystreamWord;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortcut functions to the cipher's object interface.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);
|
||||
* var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg);
|
||||
*/
|
||||
C.RC4 = StreamCipher._createHelper(RC4);
|
||||
|
||||
/**
|
||||
* Modified RC4 stream cipher algorithm.
|
||||
*/
|
||||
var RC4Drop = C_algo.RC4Drop = RC4.extend({
|
||||
/**
|
||||
* Configuration options.
|
||||
*
|
||||
* @property {number} drop The number of keystream words to drop. Default 192
|
||||
*/
|
||||
cfg: RC4.cfg.extend({
|
||||
drop: 192
|
||||
}),
|
||||
|
||||
_doReset: function () {
|
||||
RC4._doReset.call(this);
|
||||
|
||||
// Drop
|
||||
for (var i = this.cfg.drop; i > 0; i--) {
|
||||
generateKeystreamWord.call(this);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Shortcut functions to the cipher's object interface.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);
|
||||
* var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);
|
||||
*/
|
||||
C.RC4Drop = StreamCipher._createHelper(RC4Drop);
|
||||
}());
|
||||
@@ -1,255 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
/** @license
|
||||
========================================================================
|
||||
RIPEMD160
|
||||
(c) 2012 by Cédric Mesnil. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
(function (Math) {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var WordArray = C_lib.WordArray;
|
||||
var Hasher = C_lib.Hasher;
|
||||
var C_algo = C.algo;
|
||||
|
||||
// Constants table
|
||||
var _zl = WordArray.create([
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
|
||||
3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
|
||||
1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
|
||||
4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]);
|
||||
var _zr = WordArray.create([
|
||||
5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
|
||||
6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
|
||||
15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
|
||||
8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
|
||||
12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]);
|
||||
var _sl = WordArray.create([
|
||||
11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
|
||||
7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
|
||||
11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
|
||||
11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
|
||||
9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]);
|
||||
var _sr = WordArray.create([
|
||||
8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
|
||||
9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
|
||||
9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
|
||||
15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
|
||||
8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]);
|
||||
|
||||
var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);
|
||||
var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);
|
||||
|
||||
/**
|
||||
* RIPEMD160 hash algorithm.
|
||||
*/
|
||||
var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({
|
||||
_doReset: function () {
|
||||
this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);
|
||||
},
|
||||
|
||||
_doProcessBlock: function (M, offset) {
|
||||
|
||||
// Swap endian
|
||||
for (var i = 0; i < 16; i++) {
|
||||
// Shortcuts
|
||||
var offset_i = offset + i;
|
||||
var M_offset_i = M[offset_i];
|
||||
|
||||
// Swap
|
||||
M[offset_i] = (
|
||||
(((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
|
||||
(((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
|
||||
);
|
||||
}
|
||||
// Shortcut
|
||||
var H = this._hash.words;
|
||||
var hl = _hl.words;
|
||||
var hr = _hr.words;
|
||||
var zl = _zl.words;
|
||||
var zr = _zr.words;
|
||||
var sl = _sl.words;
|
||||
var sr = _sr.words;
|
||||
|
||||
// Working variables
|
||||
var al, bl, cl, dl, el;
|
||||
var ar, br, cr, dr, er;
|
||||
|
||||
ar = al = H[0];
|
||||
br = bl = H[1];
|
||||
cr = cl = H[2];
|
||||
dr = dl = H[3];
|
||||
er = el = H[4];
|
||||
// Computation
|
||||
var t;
|
||||
for (var i = 0; i < 80; i += 1) {
|
||||
t = (al + M[offset+zl[i]])|0;
|
||||
if (i<16){
|
||||
t += f1(bl,cl,dl) + hl[0];
|
||||
} else if (i<32) {
|
||||
t += f2(bl,cl,dl) + hl[1];
|
||||
} else if (i<48) {
|
||||
t += f3(bl,cl,dl) + hl[2];
|
||||
} else if (i<64) {
|
||||
t += f4(bl,cl,dl) + hl[3];
|
||||
} else {// if (i<80) {
|
||||
t += f5(bl,cl,dl) + hl[4];
|
||||
}
|
||||
t = t|0;
|
||||
t = rotl(t,sl[i]);
|
||||
t = (t+el)|0;
|
||||
al = el;
|
||||
el = dl;
|
||||
dl = rotl(cl, 10);
|
||||
cl = bl;
|
||||
bl = t;
|
||||
|
||||
t = (ar + M[offset+zr[i]])|0;
|
||||
if (i<16){
|
||||
t += f5(br,cr,dr) + hr[0];
|
||||
} else if (i<32) {
|
||||
t += f4(br,cr,dr) + hr[1];
|
||||
} else if (i<48) {
|
||||
t += f3(br,cr,dr) + hr[2];
|
||||
} else if (i<64) {
|
||||
t += f2(br,cr,dr) + hr[3];
|
||||
} else {// if (i<80) {
|
||||
t += f1(br,cr,dr) + hr[4];
|
||||
}
|
||||
t = t|0;
|
||||
t = rotl(t,sr[i]) ;
|
||||
t = (t+er)|0;
|
||||
ar = er;
|
||||
er = dr;
|
||||
dr = rotl(cr, 10);
|
||||
cr = br;
|
||||
br = t;
|
||||
}
|
||||
// Intermediate hash value
|
||||
t = (H[1] + cl + dr)|0;
|
||||
H[1] = (H[2] + dl + er)|0;
|
||||
H[2] = (H[3] + el + ar)|0;
|
||||
H[3] = (H[4] + al + br)|0;
|
||||
H[4] = (H[0] + bl + cr)|0;
|
||||
H[0] = t;
|
||||
},
|
||||
|
||||
_doFinalize: function () {
|
||||
// Shortcuts
|
||||
var data = this._data;
|
||||
var dataWords = data.words;
|
||||
|
||||
var nBitsTotal = this._nDataBytes * 8;
|
||||
var nBitsLeft = data.sigBytes * 8;
|
||||
|
||||
// Add padding
|
||||
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
|
||||
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
|
||||
(((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
|
||||
(((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
|
||||
);
|
||||
data.sigBytes = (dataWords.length + 1) * 4;
|
||||
|
||||
// Hash final blocks
|
||||
this._process();
|
||||
|
||||
// Shortcuts
|
||||
var hash = this._hash;
|
||||
var H = hash.words;
|
||||
|
||||
// Swap endian
|
||||
for (var i = 0; i < 5; i++) {
|
||||
// Shortcut
|
||||
var H_i = H[i];
|
||||
|
||||
// Swap
|
||||
H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
|
||||
(((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);
|
||||
}
|
||||
|
||||
// Return final computed hash
|
||||
return hash;
|
||||
},
|
||||
|
||||
clone: function () {
|
||||
var clone = Hasher.clone.call(this);
|
||||
clone._hash = this._hash.clone();
|
||||
|
||||
return clone;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function f1(x, y, z) {
|
||||
return ((x) ^ (y) ^ (z));
|
||||
|
||||
}
|
||||
|
||||
function f2(x, y, z) {
|
||||
return (((x)&(y)) | ((~x)&(z)));
|
||||
}
|
||||
|
||||
function f3(x, y, z) {
|
||||
return (((x) | (~(y))) ^ (z));
|
||||
}
|
||||
|
||||
function f4(x, y, z) {
|
||||
return (((x) & (z)) | ((y)&(~(z))));
|
||||
}
|
||||
|
||||
function f5(x, y, z) {
|
||||
return ((x) ^ ((y) |(~(z))));
|
||||
|
||||
}
|
||||
|
||||
function rotl(x,n) {
|
||||
return (x<<n) | (x>>>(32-n));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Shortcut function to the hasher's object interface.
|
||||
*
|
||||
* @param {WordArray|string} message The message to hash.
|
||||
*
|
||||
* @return {WordArray} The hash.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hash = CryptoJS.RIPEMD160('message');
|
||||
* var hash = CryptoJS.RIPEMD160(wordArray);
|
||||
*/
|
||||
C.RIPEMD160 = Hasher._createHelper(RIPEMD160);
|
||||
|
||||
/**
|
||||
* Shortcut function to the HMAC's object interface.
|
||||
*
|
||||
* @param {WordArray|string} message The message to hash.
|
||||
* @param {WordArray|string} key The secret key.
|
||||
*
|
||||
* @return {WordArray} The HMAC.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hmac = CryptoJS.HmacRIPEMD160(message, key);
|
||||
*/
|
||||
C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);
|
||||
}(Math));
|
||||
@@ -1,136 +0,0 @@
|
||||
/*
|
||||
CryptoJS v3.1.2
|
||||
code.google.com/p/crypto-js
|
||||
(c) 2009-2013 by Jeff Mott. All rights reserved.
|
||||
code.google.com/p/crypto-js/wiki/License
|
||||
*/
|
||||
(function () {
|
||||
// Shortcuts
|
||||
var C = CryptoJS;
|
||||
var C_lib = C.lib;
|
||||
var WordArray = C_lib.WordArray;
|
||||
var Hasher = C_lib.Hasher;
|
||||
var C_algo = C.algo;
|
||||
|
||||
// Reusable object
|
||||
var W = [];
|
||||
|
||||
/**
|
||||
* SHA-1 hash algorithm.
|
||||
*/
|
||||
var SHA1 = C_algo.SHA1 = Hasher.extend({
|
||||
_doReset: function () {
|
||||
this._hash = new WordArray.init([
|
||||
0x67452301, 0xefcdab89,
|
||||
0x98badcfe, 0x10325476,
|
||||
0xc3d2e1f0
|
||||
]);
|
||||
},
|
||||
|
||||
_doProcessBlock: function (M, offset) {
|
||||
// Shortcut
|
||||
var H = this._hash.words;
|
||||
|
||||
// Working variables
|
||||
var a = H[0];
|
||||
var b = H[1];
|
||||
var c = H[2];
|
||||
var d = H[3];
|
||||
var e = H[4];
|
||||
|
||||
// Computation
|
||||
for (var i = 0; i < 80; i++) {
|
||||
if (i < 16) {
|
||||
W[i] = M[offset + i] | 0;
|
||||
} else {
|
||||
var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
|
||||
W[i] = (n << 1) | (n >>> 31);
|
||||
}
|
||||
|
||||
var t = ((a << 5) | (a >>> 27)) + e + W[i];
|
||||
if (i < 20) {
|
||||
t += ((b & c) | (~b & d)) + 0x5a827999;
|
||||
} else if (i < 40) {
|
||||
t += (b ^ c ^ d) + 0x6ed9eba1;
|
||||
} else if (i < 60) {
|
||||
t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;
|
||||
} else /* if (i < 80) */ {
|
||||
t += (b ^ c ^ d) - 0x359d3e2a;
|
||||
}
|
||||
|
||||
e = d;
|
||||
d = c;
|
||||
c = (b << 30) | (b >>> 2);
|
||||
b = a;
|
||||
a = t;
|
||||
}
|
||||
|
||||
// Intermediate hash value
|
||||
H[0] = (H[0] + a) | 0;
|
||||
H[1] = (H[1] + b) | 0;
|
||||
H[2] = (H[2] + c) | 0;
|
||||
H[3] = (H[3] + d) | 0;
|
||||
H[4] = (H[4] + e) | 0;
|
||||
},
|
||||
|
||||
_doFinalize: function () {
|
||||
// Shortcuts
|
||||
var data = this._data;
|
||||
var dataWords = data.words;
|
||||
|
||||
var nBitsTotal = this._nDataBytes * 8;
|
||||
var nBitsLeft = data.sigBytes * 8;
|
||||
|
||||
// Add padding
|
||||
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
|
||||
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
|
||||
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
|
||||
data.sigBytes = dataWords.length * 4;
|
||||
|
||||
// Hash final blocks
|
||||
this._process();
|
||||
|
||||
// Return final computed hash
|
||||
return this._hash;
|
||||
},
|
||||
|
||||
clone: function () {
|
||||
var clone = Hasher.clone.call(this);
|
||||
clone._hash = this._hash.clone();
|
||||
|
||||
return clone;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Shortcut function to the hasher's object interface.
|
||||
*
|
||||
* @param {WordArray|string} message The message to hash.
|
||||
*
|
||||
* @return {WordArray} The hash.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hash = CryptoJS.SHA1('message');
|
||||
* var hash = CryptoJS.SHA1(wordArray);
|
||||
*/
|
||||
C.SHA1 = Hasher._createHelper(SHA1);
|
||||
|
||||
/**
|
||||
* Shortcut function to the HMAC's object interface.
|
||||
*
|
||||
* @param {WordArray|string} message The message to hash.
|
||||
* @param {WordArray|string} key The secret key.
|
||||
*
|
||||
* @return {WordArray} The HMAC.
|
||||
*
|
||||
* @static
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* var hmac = CryptoJS.HmacSHA1(message, key);
|
||||
*/
|
||||
C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
|
||||
}());
|
||||
Loaded 100 of 266 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user