    
    function lengthofphp(input)
    {
        input = input.substring(2);
        var length = Number(input.substr(0, input.indexOf(':')));
        return length;
    }
    
    function unserialized(input)
	{
		var result = unserialize(input);
		return result[0];
	}
    
    function unserialize(input)
    {
        var length = 0;
        
        switch (input.charAt(0)) {

            case 'a':
                length = lengthofphp(input);
                input  = input.substr(String(length).length + 4);

                var arr   = new Array();
                var key   = null;
                var value = null;

                for (var i=0; i<length; ++i) {
                    key   = unserialize(input);
                    input = key[1];

                    value = unserialize(input);
                    input = value[1];

                    arr[key[0]] = value[0];
                }

                input = input.substr(1);
                return [arr, input];
                break;
                
            case 'i':
			case 'd':
				var num = Number(input.substring(2, input.indexOf(';')));
				return [num, input.substr(String(num).length + 3)];
				break;
            
            case 's':
                length = lengthofphp(input);
                return [String(input.substr(String(length).length + 4, length)), input.substr(String(length).length + 6 + length)];
                break;
        }
    }
