1(function ($) { 2 $.deserialize = function (str, options) { 3 var pairs = str.split(/&|&/i), 4 h = {}, 5 options = options || {}; 6 for(var i = 0; i < pairs.length; i++) { 7 var kv = pairs[i].split('='); 8 kv[0] = decodeURIComponent(kv[0]); 9 if(!options.except || options.except.indexOf(kv[0]) == -1) { 10 if((/^\w+\[\w+\]$/).test(kv[0])) { 11 var matches = kv[0].match(/^(\w+)\[(\w+)\]$/); 12 if(typeof h[matches[1]] === 'undefined') { 13 h[matches[1]] = {}; 14 } 15 h[matches[1]][matches[2]] = decodeURIComponent(kv[1]); 16 } else { 17 h[kv[0]] = decodeURIComponent(kv[1]); 18 } 19 } 20 } 21 return h; 22 }; 23 24 $.fn.deserialize = function (options) { 25 return $.deserialize($(this).serialize(), options); 26 }; 27})(jQuery); 28
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.