1var BT = BT || {}; 2(function() { 3 BT.Base64 = 4 { 5 keyString : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", 6 UTF8Encode : function(b) { 7 b = b.replace(/\x0d\x0a/g, "\x0a"); 8 var a = ""; 9 for ( var e = 0; e < b.length; e++) { 10 var d = b.charCodeAt(e); 11 if (d < 128) { 12 a += String.fromCharCode(d) 13 } else { 14 if ((d > 127) && (d < 2048)) { 15 a += String.fromCharCode((d >> 6) | 192); 16 a += String.fromCharCode((d & 63) | 128) 17 } else { 18 a += String.fromCharCode((d >> 12) | 224); 19 a += String.fromCharCode(((d >> 6) & 63) | 128); 20 a += String.fromCharCode((d & 63) | 128) 21 } 22 } 23 } 24 return a 25 }, 26 UTF8Decode : function(a) { 27 var b = ""; 28 var d = 0; 29 var e = c1 = c2 = 0; 30 while (d < a.length) { 31 e = a.charCodeAt(d); 32 if (e < 128) { 33 b += String.fromCharCode(e); 34 d++ 35 } else { 36 if ((e > 191) && (e < 224)) { 37 c2 = a.charCodeAt(d + 1); 38 b += String.fromCharCode(((e & 31) << 6) 39 | (c2 & 63)); 40 d += 2 41 } else { 42 c2 = a.charCodeAt(d + 1); 43 c3 = a.charCodeAt(d + 2); 44 b += String.fromCharCode(((e & 15) << 12) 45 | ((c2 & 63) << 6) | (c3 & 63)); 46 d += 3 47 } 48 } 49 } 50 return b 51 }, 52 base64Encode : function(c) { 53 var a = ""; 54 var k, h, f, j, g, e, d; 55 var b = 0; 56 c = this.UTF8Encode(c); 57 while (b < c.length) { 58 k = c.charCodeAt(b++); 59 h = c.charCodeAt(b++); 60 f = c.charCodeAt(b++); 61 j = k >> 2; 62 g = ((k & 3) << 4) | (h >> 4); 63 e = ((h & 15) << 2) | (f >> 6); 64 d = f & 63; 65 if (isNaN(h)) { 66 e = d = 64 67 } else { 68 if (isNaN(f)) { 69 d = 64 70 } 71 } 72 a = a + this.keyString.charAt(j) 73 + this.keyString.charAt(g) 74 + this.keyString.charAt(e) 75 + this.keyString.charAt(d) 76 } 77 return a 78 }, 79 base64Decode : function(c) { 80 var a = ""; 81 var k, h, f; 82 var j, g, e, d; 83 var b = 0; 84 c = c.replace(/[^A-Za-z0-9\+\/\=]/g, ""); 85 while (b < c.length) { 86 j = this.keyString.indexOf(c.charAt(b++)); 87 g = this.keyString.indexOf(c.charAt(b++)); 88 e = this.keyString.indexOf(c.charAt(b++)); 89 d = this.keyString.indexOf(c.charAt(b++)); 90 k = (j << 2) | (g >> 4); 91 h = ((g & 15) << 4) | (e >> 2); 92 f = ((e & 3) << 6) | d; 93 a = a + String.fromCharCode(k); 94 if (e != 64) { 95 a = a + String.fromCharCode(h) 96 } 97 if (d != 64) { 98 a = a + String.fromCharCode(f) 99 } 100 } 101 a = this.UTF8Decode(a); 102 return a 103 } 104 } 105})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.