@ 2014-09-09T17:47:47Z <?php
//require_once (dirname(__FILE__) . "/sha256.php");
$AWS_ACCESS_KEY = 'AKIAIDMODWRW3CRDO2BA';
$AWS_PRIVATE_KEY = 'kMuJRvcejqzMvmoZWsURIDKkteVTXa3ReDXQ6RqE';
$AWS_REGION = 'us-west-2';
$TOPIC_ARN_UPDATECUS = 'arn:aws:sns:us-west-2:791920038536:updateCusNumberRequest';
$endpoints = array(
'US-EAST-1' => 'sns.us-east-1.amazonaws.com',
'US-WEST-1' => 'sns.us-west-1.amazonaws.com',
'US-WEST-2' => 'sns.us-west-2.amazonaws.com',
'EU-WEST-1' => 'sns.eu-west-1.amazonaws.com',
'AP-SE-1' => 'sns.ap-southeast-1.amazonaws.com',
'AP-NE-1' => 'sns.ap-northeast-1.amazonaws.com',
'SA-EAST-1' => 'sns.sa-east-1.amazonaws.com'
);
$endpoint = $endpoints[strtoupper($AWS_REGION)];
$protocol = 'https://';
$email = '';
$cus_id = '';
$message = array(
'topic' => 'updateCusNumberRequest',
'email' => $email,
'cus_id' => $cus_id
);
$params = array(
'TopicArn' => $TOPIC_ARN_UPDATECUS,
'Message' => php_compat_json_encode($message)
);
$params['Action'] = 'Publish';
$params['AWSAccessKeyId'] = $AWS_ACCESS_KEY;
$params['Timestamp'] = gmdate('Y-m-d\TH:i:s\Z');
$params['SignatureVersion'] = 2;
$params['SignatureMethod'] = 'HmacSHA256';
uksort($params, 'strnatcmp');
$queryString = '';
foreach ($params as $key => $val) {
$queryString .= "&{$key}=".rawurlencode($val);
}
$queryString = substr($queryString, 1);
$requestString = "GET\n"
. $endpoint."\n"
. "/\n"
. $queryString;
$params['Signature'] = base64_encode(
php_compat_hash_hmac('sha256', $requestString, $AWS_PRIVATE_KEY, true)
);
$request = $protocol . $endpoint . '/?' . php_compat_http_build_query($params);
var_dump($requestString);
/* php4 compatible functions */
//http://bit.ly/1qd0Usl
function php_compat_hash_hmac($algo, $data, $key, $raw_output = false)
{
// Block size (byte) for MD5, SHA-1 and SHA-256.
$blocksize = 64;
$ipad = str_repeat("\x36", $blocksize);
$opad = str_repeat("\x5c", $blocksize);
if (strlen($key) > $blocksize) {
$key = php_compat_hash($algo, $key, true);
} else {
$key = str_pad($key, $blocksize, "\x00");
}
$ipad ^= $key;
$opad ^= $key;
return php_compat_hash($algo, $opad . php_compat_hash($algo, $ipad . $data, true), $raw_output);
}
//http://bit.ly/1nIYD2h
function php_compat_hash($algo, $data, $raw_output = false)
{
$hash = sha256($data);
if ($raw_output) {
return pack('H*', $hash);
} else {
echo "returnhash";
return $hash;
}
}
//http://bit.ly/1uH6OR0
function php_compat_json_encode($a=false)
{
if (is_null($a)) return 'null';
if ($a === false) return 'false';
if ($a === true) return 'true';
if (is_scalar($a))
{
if (is_float($a))
{
// Always use "." for floats.
return floatval(str_replace(",", ".", strval($a)));
}
if (is_string($a))
{
$jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
}
else
return $a;
}
$isList = true;
for ($i = 0, reset($a); $i < count($a); $i++, next($a))
{
if (key($a) !== $i)
{
$isList = false;
break;
}
}
$result = array();
if ($isList)
{
foreach ($a as $v) $result[] = php_compat_json_encode($v);
return '[' . join(',', $result) . ']';
}
else
{
foreach ($a as $k => $v) $result[] = php_compat_json_encode($k).':'.php_compat_json_encode($v);
return '{' . join(',', $result) . '}';
}
}
//http://bit.ly/1q8GwII
function php_compat_http_build_query($data, $prefix = null, $sep = '', $key = '')
{
$ret = array();
foreach ((array )$data as $k => $v) {
$k = urlencode($k);
if (is_int($k) && $prefix != null) {
$k = $prefix . $k;
}
if (!empty($key)) {
$k = $key . "[" . $k . "]";
}
if (is_array($v) || is_object($v)) {
array_push($ret, http_build_query($v, "", $sep, $k));
} else {
array_push($ret, $k . "=" . urlencode($v));
}
}
if (empty($sep)) {
$sep = ini_get("arg_separator.output");
}
return implode($sep, $ret);
}
class nanoSha2
{
// php 4 - 5 compatable class properties
var $toUpper;
var $platform;
// Php 4 - 6 compatable constructor
function nanoSha2($toUpper = false) {
// Determine if the caller wants upper case or not.
$this->toUpper = is_bool($toUpper)
? $toUpper
: ((defined('_NANO_SHA2_UPPER')) ? true : false);
// Deteremine if the system is 32 or 64 bit.
$tmpInt = (int)4294967295;
$this->platform = ($tmpInt > 0) ? 64 : 32;
}
// Do the SHA-256 Padding routine (make input a multiple of 512 bits)
function char_pad($str)
{
$tmpStr = $str;
$l = strlen($tmpStr)*8; // # of bits from input string
$tmpStr .= "\x80"; // append the "1" bit followed by 7 0's
$k = (512 - (($l + 8 + 64) % 512)) / 8; // # of 0 bytes to append
$k += 4; // PHP Strings will never exceed (2^31)-1, 1st 32bits of
// the 64-bit value representing $l can be all 0's
for ($x = 0; $x < $k; $x++) {
$tmpStr .= "\0";
}
// append the 32-bits representing # of bits from input string ($l)
$tmpStr .= chr((($l>>24) & 0xFF));
$tmpStr .= chr((($l>>16) & 0xFF));
$tmpStr .= chr((($l>>8) & 0xFF));
$tmpStr .= chr(($l & 0xFF));
return $tmpStr;
}
// Here are the bitwise and functions as defined in FIPS180-2 Standard
function addmod2n($x, $y, $n = 4294967296) // Z = (X + Y) mod 2^32
{
$mask = 0x80000000;
if ($x < 0) {
$x &= 0x7FFFFFFF;
$x = (float)$x + $mask;
}
if ($y < 0) {
$y &= 0x7FFFFFFF;
$y = (float)$y + $mask;
}
$r = $x + $y;
if ($r >= $n) {
while ($r >= $n) {
$r -= $n;
}
}
return (int)$r;
}
// Logical bitwise right shift (PHP default is arithmetic shift)
function SHR($x, $n) // x >> n
{
if ($n >= 32) { // impose some limits to keep it 32-bit
return (int)0;
}
if ($n <= 0) {
return (int)$x;
}
$mask = 0x40000000;
if ($x < 0) {
$x &= 0x7FFFFFFF;
$mask = $mask >> ($n-1);
return ($x >> $n) | $mask;
}
return (int)$x >> (int)$n;
}
function ROTR($x, $n) { return (int)(($this->SHR($x, $n) | ($x << (32-$n)) & 0xFFFFFFFF)); }
function Ch($x, $y, $z) { return ($x & $y) ^ ((~$x) & $z); }
function Maj($x, $y, $z) { return ($x & $y) ^ ($x & $z) ^ ($y & $z); }
function Sigma0($x) { return (int) ($this->ROTR($x, 2)^$this->ROTR($x, 13)^$this->ROTR($x, 22)); }
function Sigma1($x) { return (int) ($this->ROTR($x, 6)^$this->ROTR($x, 11)^$this->ROTR($x, 25)); }
function sigma_0($x) { return (int) ($this->ROTR($x, 7)^$this->ROTR($x, 18)^$this->SHR($x, 3)); }
function sigma_1($x) { return (int) ($this->ROTR($x, 17)^$this->ROTR($x, 19)^$this->SHR($x, 10)); }
/*
* Custom functions to provide PHP support
*/
// split a byte-string into integer array values
function int_split($input)
{
$l = strlen($input);
if ($l <= 0) {
return (int)0;
}
if (($l % 4) != 0) { // invalid input
return false;
}
for ($i = 0; $i < $l; $i += 4)
{
$int_build = (ord($input[$i]) << 24);
$int_build += (ord($input[$i+1]) << 16);
$int_build += (ord($input[$i+2]) << 8);
$int_build += (ord($input[$i+3]));
$result[] = $int_build;
}
return $result;
}
/**
* Process and return the hash.
*
* @param $str Input string to hash
* @param $ig_func Option param to ignore checking for php > 5.1.2
* @return string Hexadecimal representation of the message digest
*/
function hash($str, $ig_func = false)
{
unset($binStr); // binary representation of input string
unset($hexStr); // 256-bit message digest in readable hex format
// check for php's internal sha256 function, ignore if ig_func==true
if ($ig_func == false) {
if (version_compare(PHP_VERSION,'5.1.2','>=')) {
return hash("sha256", $str, false);
} else if (function_exists('mhash') && defined('MHASH_SHA256')) {
return base64_encode(bin2hex(mhash(MHASH_SHA256, $str)));
}
}
/*
* SHA-256 Constants
* Sequence of sixty-four constant 32-bit words representing the
* first thirty-two bits of the fractional parts of the cube roots
* of the first sixtyfour prime numbers.
*/
$K = array((int)0x428a2f98, (int)0x71374491, (int)0xb5c0fbcf,
(int)0xe9b5dba5, (int)0x3956c25b, (int)0x59f111f1,
(int)0x923f82a4, (int)0xab1c5ed5, (int)0xd807aa98,
(int)0x12835b01, (int)0x243185be, (int)0x550c7dc3,
(int)0x72be5d74, (int)0x80deb1fe, (int)0x9bdc06a7,
(int)0xc19bf174, (int)0xe49b69c1, (int)0xefbe4786,
(int)0x0fc19dc6, (int)0x240ca1cc, (int)0x2de92c6f,
(int)0x4a7484aa, (int)0x5cb0a9dc, (int)0x76f988da,
(int)0x983e5152, (int)0xa831c66d, (int)0xb00327c8,
(int)0xbf597fc7, (int)0xc6e00bf3, (int)0xd5a79147,
(int)0x06ca6351, (int)0x14292967, (int)0x27b70a85,
(int)0x2e1b2138, (int)0x4d2c6dfc, (int)0x53380d13,
(int)0x650a7354, (int)0x766a0abb, (int)0x81c2c92e,
(int)0x92722c85, (int)0xa2bfe8a1, (int)0xa81a664b,
(int)0xc24b8b70, (int)0xc76c51a3, (int)0xd192e819,
(int)0xd6990624, (int)0xf40e3585, (int)0x106aa070,
(int)0x19a4c116, (int)0x1e376c08, (int)0x2748774c,
(int)0x34b0bcb5, (int)0x391c0cb3, (int)0x4ed8aa4a,
(int)0x5b9cca4f, (int)0x682e6ff3, (int)0x748f82ee,
(int)0x78a5636f, (int)0x84c87814, (int)0x8cc70208,
(int)0x90befffa, (int)0xa4506ceb, (int)0xbef9a3f7,
(int)0xc67178f2);
// Pre-processing: Padding the string
$binStr = $this->char_pad($str);
// Parsing the Padded Message (Break into N 512-bit blocks)
$M = str_split1($binStr, 64);
// Set the initial hash values
$h[0] = (int)0x6a09e667;
$h[1] = (int)0xbb67ae85;
$h[2] = (int)0x3c6ef372;
$h[3] = (int)0xa54ff53a;
$h[4] = (int)0x510e527f;
$h[5] = (int)0x9b05688c;
$h[6] = (int)0x1f83d9ab;
$h[7] = (int)0x5be0cd19;
// loop through message blocks and compute hash. ( For i=1 to N : )
$N = count($M);
for ($i = 0; $i < $N; $i++)
{
// Break input block into 16 32bit words (message schedule prep)
$MI = $this->int_split($M[$i]);
// Initialize working variables
$_a = (int)$h[0];
$_b = (int)$h[1];
$_c = (int)$h[2];
$_d = (int)$h[3];
$_e = (int)$h[4];
$_f = (int)$h[5];
$_g = (int)$h[6];
$_h = (int)$h[7];
unset($_s0);
unset($_s1);
unset($_T1);
unset($_T2);
$W = array();
// Compute the hash and update
for ($t = 0; $t < 16; $t++)
{
// Prepare the first 16 message schedule values as we loop
$W[$t] = $MI[$t];
// Compute hash
$_T1 = $this->addmod2n($this->addmod2n($this->addmod2n($this->addmod2n($_h, $this->Sigma1($_e)), $this->Ch($_e, $_f, $_g)), $K[$t]), $W[$t]);
$_T2 = $this->addmod2n($this->Sigma0($_a), $this->Maj($_a, $_b, $_c));
// Update working variables
$_h = $_g; $_g = $_f; $_f = $_e; $_e = $this->addmod2n($_d, $_T1);
$_d = $_c; $_c = $_b; $_b = $_a; $_a = $this->addmod2n($_T1, $_T2);
}
for (; $t < 64; $t++)
{
// Continue building the message schedule as we loop
$_s0 = $W[($t+1)&0x0F];
$_s0 = $this->sigma_0($_s0);
$_s1 = $W[($t+14)&0x0F];
$_s1 = $this->sigma_1($_s1);
$W[$t&0xF] = $this->addmod2n($this->addmod2n($this->addmod2n($W[$t&0xF], $_s0), $_s1), $W[($t+9)&0x0F]);
// Compute hash
$_T1 = $this->addmod2n($this->addmod2n($this->addmod2n($this->addmod2n($_h, $this->Sigma1($_e)), $this->Ch($_e, $_f, $_g)), $K[$t]), $W[$t&0xF]);
$_T2 = $this->addmod2n($this->Sigma0($_a), $this->Maj($_a, $_b, $_c));
// Update working variables
$_h = $_g; $_g = $_f; $_f = $_e; $_e = $this->addmod2n($_d, $_T1);
$_d = $_c; $_c = $_b; $_b = $_a; $_a = $this->addmod2n($_T1, $_T2);
}
$h[0] = $this->addmod2n($h[0], $_a);
$h[1] = $this->addmod2n($h[1], $_b);
$h[2] = $this->addmod2n($h[2], $_c);
$h[3] = $this->addmod2n($h[3], $_d);
$h[4] = $this->addmod2n($h[4], $_e);
$h[5] = $this->addmod2n($h[5], $_f);
$h[6] = $this->addmod2n($h[6], $_g);
$h[7] = $this->addmod2n($h[7], $_h);
}
// Convert the 32-bit words into human readable hexadecimal format.
$hexStr = sprintf("%08x%08x%08x%08x%08x%08x%08x%08x", $h[0], $h[1], $h[2], $h[3], $h[4], $h[5], $h[6], $h[7]);
return ($this->toUpper) ? strtoupper($hexStr) : $hexStr;
}
}
/**
* Splits a string into an array of strings with specified length.
* Compatability with older verions of PHP
*/
function str_split1($string, $split_length = 1)
{
$sign = ($split_length < 0) ? -1 : 1;
$strlen = strlen($string);
$split_length = abs($split_length);
if (($split_length == 0) || ($strlen == 0)) {
$result = false;
} elseif ($split_length >= $strlen) {
$result[] = $string;
} else {
$length = $split_length;
for ($i = 0; $i < $strlen; $i++)
{
$i = (($sign < 0) ? $i + $length : $i);
$result[] = substr($string, $sign*$i, $length);
$i--;
$i = (($sign < 0) ? $i : $i + $length);
$length = (($i + $split_length) > $strlen)
? ($strlen - ($i + 1))
: $split_length;
}
}
return $result;
}
/**
* Main routine called from an application using this include.
*
* General usage:
* require_once('sha256.inc.php');
* $hashstr = sha256('abc');
*
* Note:
* PHP Strings are limitd to (2^31)-1, so it is not worth it to
* check for input strings > 2^64 as the FIPS180-2 defines.
*/
// 2009-07-23: Added check for function as the Suhosin plugin adds this routine.
function sha256($str, $ig_func = false) {
$obj = new nanoSha2((defined('_NANO_SHA2_UPPER')) ? true : false);
return $obj->hash($str, $ig_func);
}
function _nano_sha256($str, $ig_func = false) {
$obj = new nanoSha2((defined('_NANO_SHA2_UPPER')) ? true : false);
return $obj->hash($str, $ig_func);
}
// support to give php4 the hash() routine which abstracts this code.
if (!function_exists('hash'))
{
function hash($algo, $data)
{
if (empty($algo) || !is_string($algo) || !is_string($data)) {
return false;
}
if (function_exists($algo)) {
return $algo($data);
}
}
}
?>
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).
Version System time (s) User time (s) Memory (MiB) 8.3.6 0.014 0.004 18.56 8.3.5 0.011 0.008 22.99 8.3.4 0.004 0.011 19.01 8.3.3 0.009 0.006 19.36 8.3.2 0.008 0.000 20.61 8.3.1 0.005 0.003 23.48 8.3.0 0.004 0.004 19.50 8.2.18 0.013 0.006 17.00 8.2.17 0.010 0.007 22.96 8.2.16 0.015 0.003 20.77 8.2.15 0.006 0.003 24.18 8.2.14 0.004 0.004 24.66 8.2.13 0.008 0.000 26.16 8.2.12 0.009 0.000 20.91 8.2.11 0.005 0.005 20.63 8.2.10 0.014 0.003 18.28 8.2.9 0.004 0.004 19.42 8.2.8 0.000 0.008 18.00 8.2.7 0.003 0.006 17.50 8.2.6 0.004 0.004 18.30 8.2.5 0.006 0.003 18.07 8.2.4 0.000 0.008 18.59 8.2.3 0.000 0.008 18.41 8.2.2 0.000 0.008 17.96 8.2.1 0.003 0.006 18.26 8.2.0 0.003 0.006 17.97 8.1.28 0.018 0.000 25.92 8.1.27 0.003 0.006 23.87 8.1.26 0.008 0.000 26.35 8.1.25 0.005 0.003 28.09 8.1.24 0.003 0.007 22.38 8.1.23 0.004 0.007 22.42 8.1.22 0.008 0.000 18.02 8.1.21 0.006 0.003 18.77 8.1.20 0.004 0.007 17.73 8.1.19 0.006 0.003 17.60 8.1.18 0.008 0.000 18.10 8.1.17 0.003 0.006 18.91 8.1.16 0.000 0.009 22.23 8.1.15 0.004 0.004 19.16 8.1.14 0.000 0.008 17.64 8.1.13 0.007 0.000 17.71 8.1.12 0.000 0.008 17.68 8.1.11 0.000 0.009 17.63 8.1.10 0.000 0.010 17.66 8.1.9 0.008 0.000 17.64 8.1.8 0.000 0.009 17.70 8.1.7 0.004 0.004 17.67 8.1.6 0.006 0.003 17.73 8.1.5 0.003 0.005 17.61 8.1.4 0.006 0.003 17.77 8.1.3 0.004 0.004 17.81 8.1.2 0.004 0.004 17.78 8.1.1 0.005 0.003 17.84 8.1.0 0.004 0.004 17.66 8.0.30 0.008 0.000 18.77 8.0.29 0.004 0.004 17.00 8.0.28 0.002 0.005 18.68 8.0.27 0.000 0.008 17.11 8.0.26 0.000 0.007 17.07 8.0.25 0.004 0.004 17.16 8.0.24 0.004 0.004 17.32 8.0.23 0.000 0.007 17.27 8.0.22 0.005 0.002 17.21 8.0.21 0.000 0.007 17.23 8.0.20 0.004 0.004 17.20 8.0.19 0.000 0.008 17.06 8.0.18 0.003 0.006 17.11 8.0.17 0.003 0.006 17.18 8.0.16 0.004 0.004 17.17 8.0.15 0.004 0.004 17.03 8.0.14 0.004 0.004 16.91 8.0.13 0.004 0.004 13.50 8.0.12 0.003 0.006 17.16 8.0.11 0.000 0.008 17.09 8.0.10 0.004 0.004 17.02 8.0.9 0.006 0.003 17.14 8.0.8 0.010 0.010 17.09 8.0.7 0.000 0.008 17.03 8.0.6 0.000 0.008 17.00 8.0.5 0.004 0.004 17.03 8.0.3 0.016 0.007 17.32 8.0.2 0.014 0.007 17.49 8.0.1 0.003 0.005 17.20 8.0.0 0.006 0.014 16.95 7.4.33 0.005 0.000 15.03 7.4.32 0.005 0.003 16.88 7.4.30 0.000 0.007 16.89 7.4.29 0.003 0.005 16.88 7.4.28 0.008 0.000 16.73 7.4.27 0.004 0.004 16.76 7.4.26 0.005 0.003 16.78 7.4.25 0.000 0.008 16.75 7.4.24 0.001 0.007 16.73 7.4.23 0.000 0.008 16.94 7.4.22 0.009 0.010 16.86 7.4.21 0.010 0.007 16.91 7.4.20 0.004 0.004 16.84 7.4.16 0.006 0.010 16.59 7.4.15 0.009 0.012 17.40 7.4.14 0.010 0.008 17.86 7.4.13 0.010 0.009 16.79 7.4.12 0.010 0.008 16.91 7.4.11 0.006 0.012 16.89 7.4.10 0.006 0.013 16.86 7.4.9 0.009 0.009 16.88 7.4.8 0.007 0.011 19.39 7.4.7 0.004 0.015 16.96 7.4.6 0.009 0.009 16.85 7.4.5 0.006 0.003 16.58 7.4.4 0.003 0.015 16.63 7.4.3 0.000 0.017 16.82 7.4.1 0.010 0.007 15.01 7.4.0 0.010 0.008 15.30 7.3.33 0.006 0.003 13.57 7.3.32 0.003 0.003 13.51 7.3.31 0.000 0.007 16.54 7.3.30 0.005 0.002 16.51 7.3.29 0.007 0.008 16.61 7.3.28 0.010 0.007 16.63 7.3.27 0.012 0.009 17.40 7.3.26 0.010 0.013 16.95 7.3.25 0.009 0.009 16.67 7.3.24 0.016 0.010 16.84 7.3.23 0.009 0.009 16.79 7.3.21 0.007 0.011 16.85 7.3.20 0.014 0.003 19.39 7.3.19 0.011 0.008 16.81 7.3.18 0.008 0.008 16.69 7.3.17 0.003 0.014 16.79 7.3.16 0.006 0.011 16.84 7.3.13 0.013 0.003 15.08 7.3.12 0.009 0.009 15.14 7.3.11 0.006 0.012 15.01 7.3.10 0.006 0.010 15.03 7.3.9 0.006 0.009 15.26 7.3.8 0.003 0.016 15.19 7.3.7 0.008 0.004 14.93 7.3.6 0.015 0.000 14.73 7.3.5 0.004 0.008 15.21 7.3.4 0.003 0.013 15.18 7.3.3 0.006 0.003 15.02 7.3.2 0.009 0.000 16.68 7.3.1 0.006 0.007 16.51 7.3.0 0.005 0.011 16.65 7.2.33 0.017 0.007 17.09 7.2.32 0.007 0.011 17.11 7.2.31 0.016 0.003 17.18 7.2.30 0.011 0.009 17.11 7.2.29 0.000 0.018 17.04 7.2.26 0.007 0.010 15.32 7.2.25 0.009 0.009 15.36 7.2.24 0.006 0.009 15.26 7.2.23 0.012 0.003 15.32 7.2.22 0.003 0.010 15.07 7.2.21 0.005 0.005 15.40 7.2.20 0.003 0.013 15.48 7.2.19 0.014 0.003 15.29 7.2.18 0.003 0.010 15.25 7.2.17 0.011 0.003 15.24 7.2.16 0.011 0.004 15.39 7.2.15 0.000 0.013 16.99 7.2.14 0.009 0.006 17.00 7.2.13 0.009 0.008 16.97 7.2.12 0.006 0.008 16.92 7.2.11 0.006 0.009 16.99 7.2.10 0.010 0.004 16.94 7.2.9 0.007 0.007 17.04 7.2.8 0.009 0.008 16.85 7.2.7 0.010 0.005 17.00 7.2.6 0.003 0.011 17.11 7.2.5 0.008 0.008 17.02 7.2.4 0.006 0.006 16.84 7.2.3 0.006 0.009 17.00 7.2.2 0.007 0.009 16.86 7.2.1 0.007 0.009 16.88 7.2.0 0.007 0.008 17.61 7.1.33 0.010 0.003 15.96 7.1.32 0.007 0.007 15.88 7.1.31 0.010 0.007 15.62 7.1.30 0.011 0.000 15.86 7.1.29 0.000 0.013 15.99 7.1.28 0.004 0.011 15.75 7.1.27 0.000 0.012 15.85 7.1.26 0.016 0.000 15.95 7.1.25 0.007 0.008 15.71 7.1.24 0.000 0.015 15.95 7.1.23 0.008 0.006 15.91 7.1.22 0.009 0.003 15.83 7.1.21 0.000 0.016 16.00 7.1.20 0.004 0.010 15.81 7.1.19 0.004 0.011 15.87 7.1.18 0.013 0.003 15.67 7.1.17 0.006 0.006 15.62 7.1.16 0.000 0.014 15.69 7.1.15 0.003 0.010 15.88 7.1.14 0.011 0.004 15.97 7.1.13 0.004 0.011 15.83 7.1.12 0.012 0.003 16.03 7.1.11 0.009 0.009 16.00 7.1.10 0.007 0.007 17.23 7.1.9 0.004 0.012 15.98 7.1.8 0.000 0.011 15.64 7.1.7 0.006 0.005 16.52 7.1.6 0.002 0.016 17.61 7.1.5 0.015 0.005 25.28 7.1.4 0.006 0.006 15.69 7.1.3 0.000 0.016 15.94 7.1.2 0.003 0.012 15.89 7.1.1 0.007 0.011 15.79 7.1.0 0.007 0.041 19.25 7.0.33 0.004 0.008 15.46 7.0.32 0.004 0.008 15.45 7.0.31 0.012 0.003 15.44 7.0.30 0.003 0.010 15.45 7.0.29 0.003 0.013 15.48 7.0.28 0.010 0.003 15.22 7.0.27 0.003 0.007 15.57 7.0.26 0.012 0.006 15.52 7.0.25 0.007 0.007 15.63 7.0.24 0.008 0.006 15.52 7.0.23 0.008 0.004 15.55 7.0.22 0.000 0.014 15.55 7.0.21 0.009 0.006 15.41 7.0.20 0.007 0.007 16.00 7.0.19 0.000 0.012 15.17 7.0.18 0.012 0.003 15.42 7.0.17 0.007 0.004 15.66 7.0.16 0.010 0.007 15.55 7.0.15 0.007 0.010 15.20 7.0.14 0.002 0.040 18.91 7.0.13 0.004 0.007 15.12 7.0.12 0.003 0.010 15.70 7.0.11 0.006 0.003 15.48 7.0.10 0.005 0.045 17.81 7.0.9 0.010 0.045 17.83 7.0.8 0.011 0.041 17.83 7.0.7 0.007 0.047 17.82 7.0.6 0.007 0.047 17.85 7.0.5 0.008 0.046 17.96 7.0.4 0.005 0.047 16.74 7.0.3 0.011 0.045 16.87 7.0.2 0.006 0.041 16.57 7.0.1 0.012 0.043 16.90 7.0.0 0.006 0.041 16.82 5.6.40 0.006 0.006 14.95 5.6.39 0.006 0.006 14.55 5.6.38 0.007 0.010 14.48 5.6.37 0.006 0.010 14.68 5.6.36 0.010 0.007 14.37 5.6.35 0.000 0.016 14.71 5.6.34 0.008 0.005 14.60 5.6.33 0.007 0.007 14.61 5.6.32 0.003 0.010 14.79 5.6.31 0.004 0.011 14.78 5.6.30 0.003 0.008 14.80 5.6.29 0.006 0.009 14.59 5.6.28 0.008 0.036 17.84 5.6.27 0.004 0.011 14.82 5.6.26 0.004 0.007 14.68 5.6.25 0.003 0.052 17.67 5.6.24 0.013 0.040 17.64 5.6.23 0.003 0.049 17.75 5.6.22 0.007 0.045 17.65 5.6.21 0.005 0.046 17.76 5.6.20 0.004 0.043 17.97 5.6.19 0.009 0.031 17.88 5.6.18 0.007 0.025 17.82 5.6.17 0.005 0.048 17.84 5.6.16 0.005 0.049 17.91 5.6.15 0.008 0.044 18.06 5.6.14 0.011 0.036 17.75 5.6.13 0.004 0.052 18.06 5.6.12 0.007 0.047 17.69 5.6.11 0.013 0.030 18.07 5.6.10 0.010 0.047 17.89 5.6.9 0.006 0.048 17.93 5.6.8 0.007 0.027 17.49 5.6.7 0.006 0.036 17.57 5.6.6 0.011 0.038 17.53 5.6.5 0.003 0.047 17.52 5.6.4 0.009 0.044 17.44 5.6.3 0.008 0.028 17.47 5.6.2 0.011 0.038 17.54 5.6.1 0.010 0.041 17.54 5.6.0 0.005 0.036 17.54 5.5.38 0.012 0.039 17.66 5.5.37 0.007 0.040 17.58 5.5.36 0.007 0.045 17.41 5.5.35 0.009 0.028 17.63 5.5.34 0.008 0.042 17.67 5.5.33 0.006 0.026 17.67 5.5.32 0.008 0.047 17.76 5.5.31 0.013 0.043 17.74 5.5.30 0.013 0.043 17.57 5.5.29 0.011 0.039 17.74 5.5.28 0.007 0.044 17.87 5.5.27 0.005 0.045 17.78 5.5.26 0.005 0.047 17.78 5.5.25 0.010 0.035 17.55 5.5.24 0.007 0.043 17.46 5.5.23 0.014 0.035 17.52 5.5.22 0.009 0.039 17.27 5.5.21 0.003 0.045 17.34 5.5.20 0.015 0.040 17.45 5.5.19 0.010 0.033 17.35 5.5.18 0.007 0.047 17.43 5.5.17 0.003 0.010 14.36 5.5.16 0.003 0.039 17.38 5.5.15 0.007 0.044 17.46 5.5.14 0.005 0.047 17.41 5.5.13 0.007 0.027 17.21 5.5.12 0.003 0.044 17.29 5.5.11 0.007 0.041 17.38 5.5.10 0.005 0.027 17.49 5.5.9 0.010 0.040 17.43 5.5.8 0.006 0.037 17.43 5.5.7 0.005 0.027 17.30 5.5.6 0.010 0.040 17.43 5.5.5 0.003 0.027 17.14 5.5.4 0.009 0.035 17.41 5.5.3 0.010 0.020 17.44 5.5.2 0.007 0.025 17.42 5.5.1 0.011 0.024 17.35 5.5.0 0.007 0.044 17.20 5.4.45 0.007 0.032 15.44 5.4.44 0.003 0.046 15.30 5.4.43 0.012 0.036 15.33 5.4.42 0.008 0.032 15.46 5.4.41 0.007 0.041 15.11 5.4.40 0.011 0.038 15.07 5.4.39 0.004 0.031 15.06 5.4.38 0.006 0.044 14.98 5.4.37 0.005 0.038 15.16 5.4.36 0.002 0.047 15.26 5.4.35 0.009 0.026 15.24 5.4.34 0.003 0.030 15.15 5.4.33 0.004 0.007 11.08 5.4.32 0.000 0.049 15.09 5.4.31 0.005 0.040 15.03 5.4.30 0.006 0.040 15.09 5.4.29 0.005 0.043 15.15 5.4.28 0.005 0.025 15.20 5.4.27 0.005 0.043 15.27 5.4.26 0.005 0.026 15.27 5.4.25 0.005 0.037 15.29 5.4.24 0.007 0.044 15.26 5.4.23 0.005 0.042 15.13 5.4.22 0.005 0.040 15.32 5.4.21 0.011 0.037 15.11 5.4.20 0.010 0.027 15.19 5.4.19 0.003 0.044 15.13 5.4.18 0.003 0.044 15.29 5.4.17 0.003 0.045 15.13 5.4.16 0.005 0.035 15.09 5.4.15 0.008 0.041 15.11 5.4.14 0.007 0.039 13.94 5.4.13 0.002 0.043 13.95 5.4.12 0.007 0.034 13.91 5.4.11 0.009 0.032 13.94 5.4.10 0.008 0.037 13.78 5.4.9 0.007 0.031 14.01 5.4.8 0.008 0.038 13.79 5.4.7 0.005 0.034 13.99 5.4.6 0.003 0.040 13.88 5.4.5 0.002 0.030 13.79 5.4.4 0.005 0.039 13.85 5.4.3 0.006 0.023 13.88 5.4.2 0.014 0.032 13.87 5.4.1 0.007 0.042 13.87 5.4.0 0.008 0.022 13.57
preferences:dark mode live preview
42.99 ms | 401 KiB | 5 Q