docs: function processAccessAndAllowNavigationEntries(config) {
      var accesses = config.getAccesses();
      var allow_navigations = config.getAllowNavigations();
  
      return allow_navigations
      // we concat allow_navigations and accesses, after processing accesses
      .concat(accesses.map(function(obj) {
          // map accesses to a common key interface using 'href', not origin
          obj.href = obj.origin;
          delete obj.origin;
          return obj;
      }))
      // we reduce the array to an object with all the entries processed (key is Hostname)
      .reduce(function(previousReturn, currentElement) {
          var options = {
              minimum_tls_version : currentElement.minimum_tls_version, 
              requires_forward_secrecy : currentElement.requires_forward_secrecy, 
              requires_certificate_transparency : currentElement.requires_certificate_transparency,
              allows_arbitrary_loads_in_media : currentElement.allows_arbitrary_loads_in_media,
              allows_arbitrary_loads_in_web_content : currentElement.allows_arbitrary_loads_in_web_content,
              allows_local_networking : currentElement.allows_local_networking
          };
          var obj = parseWhitelistUrlForATS(currentElement.href, options);
  
          if (obj) {
              // we 'union' duplicate entries
              var item = previousReturn[obj.Hostname];
              if (!item) {
                  item = {};
              }
              for(var o in obj) {
                  if (obj.hasOwnProperty(o)) {
                      item[o] = obj[o];
                  }
              }
              previousReturn[obj.Hostname] = item;
          }
          return previousReturn;
      }, {});
  }