 		
 		/* CONSTRUCTOR'S METHODS */
 		
-		public static function loadUTF8CharCode(aChars, nIdx) {
-			
-			var nLen = aChars.length, nPart = aChars[nIdx];
+		public static function loadUTF8CharCode(aChars, nIdx):int {
+			
+			var nLen:int = aChars.length, nPart:int = aChars[nIdx];
 			
 			return nPart > 251 && nPart < 254 && nIdx + 5 < nLen ?
 				/* (nPart - 252 << 30) may be not safe in ECMAScript! So...: */

			
		};
		
		public static function getUTF8CharLength(nChar) {
			return nChar < 0x80 ? 1 : nChar < 0x800 ? 2 : nChar < 0x10000 ? 3 : nChar < 0x200000 ? 4 : nChar < 0x4000000 ? 5 : 6;
		};
		
		public static function loadUTF16CharCode(aChars, nIdx) {
			
			/* UTF-16 to DOMString decoding algorithm */
			var nFrstChr = aChars[nIdx];
			
			return nFrstChr > 0xD7BF /* 55231 */ && nIdx + 1 < aChars.length ?
				(nFrstChr - 0xD800 /* 55296 */ << 10) + aChars[nIdx + 1] + 0x2400 /* 9216 */

			
		};
		
		public static function uint6ToB64(nUint6):int {
			
			return nUint6 < 26 ?
				nUint6 + 65
